private synchronized boolean acquireLock(ResourceAccess resourceAccess)
	{
		waitingForResource = resourceAccess;
		owner.println("Trying to claim lock of resource " + resourceAccess.resourceId + " at server " + resourceAccess.serverId, transactionId);
		try {
			// if (Globals.PROBING_ENABLED) {
			// 	ProbeMessage probeMessage = new ProbeMessage(owner, waitingForResource.resourceId);
			// 	probeMessage.start();
			// }
			if (resourceAccess.server.lockResource(transactionId, resourceAccess.resourceId)) {
				lockedResources.add(resourceAccess);
				waitingForResource = null;
				return true;
			}
		} catch (RemoteException re) {
			owner.lostContactWithServer(resourceAccess.serverId);
		}
		waitingForResource = null;
		System.err.println("We didn't get the lock we wanted! How can that happen?");
		return false;
	}