public void sendZMessages() throws PostServiceNotSetException{
        
        if (this.postservice == null){
            throw new PostServiceNotSetException();
        }

        switch (Athena.shuffleMessage){

            case 1:
                Object[] arrayx = this.getVariables().toArray();
                arrayx = Utils.shuffleArrayFY(arrayx);

                for (Object nodeVariable : arrayx) {
                    this.op.updateZ((NodeVariable)nodeVariable, postservice);
                }
                break;

            case 0:
            default:
                for (NodeVariable nodeVariable:this.getVariables()){
                    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+ "] agent "+this+"" + "preparing to update ZMessage for "+nodeVariable);
                            System.out.println("---------------------------------------");
                    }
                    this.op.updateZ(nodeVariable, postservice);
                }
        }

    }