DataContainersCache dataContainersCache = TransactionUtils.getObjectDataContainerCache();
ObjectDataContainer dataContainer = dataContainersCache.pullObjectDataContainer();
IOBase base = _session.getBase();
IOTicket ticket = base.getIOTicket(true, true);
try {//TODO need handling for arrays
dataContainer.readObject(ticket.getRandomAccessBuffer(), base, context.getSession(), objectOffset, true);
return analize(classDescriptor, dataContainer, context);
} finally {
TransactionUtils.getObjectDataContainerCache().pushObjectDataContainer(dataContainer);
ticket.close();
}