public void decide(int decision) {
    if (index<(network.numProposers+network.numAcceptors))
      throw new Error("Non-learner should not be deciding a value");

    if (decision>=network.numProposers)
      throw new Error("The decided value was not an initial value...");

    synchronized(network) {
      if (network.decision==-1)
	network.decision=decision;
      else {
	if (network.decision!=decision)
	  System.out.println("Disagreement between Learners");
      }
    }
  }