public boolean updateR(NodeFunction f, NodeVariable x, PostService postservice) {
        NodeVariable variable = null;
        //System.out.println("Sono nell'updateR per la variabile "+x.getId());
        LinkedList<MessageQ> qmessages = new LinkedList<MessageQ>();
        

        // R from other functions f' to v
        //Iterator<NodeFunction> iterator = this.variableToFunctions.get(v).iterator();
        Iterator<NodeVariable> iterator = f.getNeighbour().iterator();
        // every new iterator value is a new index in M(i)
        //System.out.print("Sono la funzione "+f.getId()+" e ho come vicini");
        while (iterator.hasNext()){
            variable = iterator.next();
            //System.out.print(" "+variable.getId());
            //if (variable != x) {
            if (!variable.equals(x)){
                //System.out.println("Sono "+variable.getId()+" e sono diversa da "+x.getId());
                //qmessages.add(this.mailMan.readQMessage(v, f));
                //modifierTable.put(f.getFunction().getParameterPosition(v), this.mailMan.readQMessage(v, f));
                if (postservice.readQMessage(variable, f) != null){
                    //System.out.println("Mi è arrivato un messaggio diverso da null");
                    qmessages.add(postservice.readQMessage(variable, f));
                }
            }
        }

        if (debug>=3) {
                String dmethod = Thread.currentThread().getStackTrace()[1].getMethodName();
                String dclass = Thread.currentThread().getStackTrace()[1].getClassName();
                System.out.println("---------------------------------------");
                System.out.println("[class: "+dclass+" method: " + dmethod+ "] " + "contains the following "+qmessages.size()+" qmessages:");
                Iterator<MessageQ> itq = qmessages.iterator();
                while (itq.hasNext()) {
                MessageQ messageQ = itq.next();
                    System.out.println("MessageQ "+messageQ + "  and sender "+messageQ.getSender());
                }
                System.out.println("---------------------------------------");
        }


        MessageR messager = this.oplus.oplus(f, x, f.getFunction(), qmessages);

        if (debug>=3) {
                String dmethod = Thread.currentThread().getStackTrace()[2].getMethodName();
                String dclass = Thread.currentThread().getStackTrace()[2].getClassName();
                System.out.println("---------------------------------------");
                System.out.println("[class: "+dclass+" method: " + dmethod+ "] " + "MessageR created: "+messager);
                System.out.println("---------------------------------------");
        }

        return postservice.sendRMessage(f, x, messager);
    }