public void cancel(int id)
	{
		// Remove from pending invokes (only affects join())
		pendingInvokes.remove(id);

		// Check if we've already received the result
		if (peekResult(id) != null)
			return;
		// Signify a cancelled invoke by giving it a null callback
		else
		{
			callbacks.put(id, null);

			// Check for race condition
			if (peekResult(id) != null)
				callbacks.remove(id);
		}
	}