public/* protected */synchronized void modifyObject(Object obj) {
		synchronized (objectCache) {
			if (!isModified(obj)) {
				modified = true;

				if (useSerializableTransactions) {
					ThreadTransactionContext ctx = getTransactionContext();

					if (ctx.nested != 0) { // serializable transaction
						ctx.modified.add(obj);
						return;
					}
				}

				objectCache.setDirty(obj);
			}
		}
	}