public/* protected */synchronized void storeObject(Object obj) {
		if (!opened) {
			throw new StorageError(StorageError.STORAGE_NOT_OPENED);
		}

		if (useSerializableTransactions && getTransactionContext().nested != 0) {
			// Store should not be used in serializable transaction mode
			throw new StorageError(StorageError.INVALID_OPERATION,
					"store object");
		}

		synchronized (objectCache) {
			storeObject0(obj, false);
		}
	}