public synchronized boolean feedArgument(Result result) {
		for (int i = 0; i < resultIDsNeeded.length; i++) {
			
			// If the task is waiting for this result..
			if (resultIDsNeeded[i].equals(result.getResultID())) {
				partialResults.put(i, result);
				noOfArgumentsNeeded--;
				
				try {((Computer2Space)this.space).removePartialResult(result);}
				catch (RemoteException e1) { e1.printStackTrace();}

				// If the task has all the arguments needed..
				if (noOfArgumentsNeeded == 0) {
					try {
						this.space.put(this);
					} catch (RemoteException e) {
						System.err.println("Could not put task into space's readyQueue");
						e.printStackTrace();
					}
				}
				return true;
			}
		}
		return false;
	}