private NodeVariable getFixableLoad(NodeFunction f) throws NoMoreValuesException {
        LinkedList<NodeVariable> xes = new LinkedList<NodeVariable>(f.getNeighbour());
        Collections.shuffle(xes);
        //for (NodeVariable x : f.getNeighbour()) {
        // xes let the load to be chosen in random order (not always the first one available)
        for (NodeVariable x : xes) {
            try {
                if (x.getStateArgument().getValue() == (Integer) f.id()) {
                    for (NodeArgument na : x.getArguments()) {
                        Integer id_f = (Integer) na.getValue();
                        if (id_f != f.id()
                                && NodeFunction.getNodeFunction(id_f).actualValue() < Double.POSITIVE_INFINITY) {
                            return x;
                        }
                    }
                }
            } catch (VariableNotSetException ex) {
                ex.printStackTrace();

            } catch (FunctionNotPresentException ex) {
                ex.printStackTrace();
            }
        }
        throw new NoMoreValuesException();
    }