final int classId = network.readShort();
if (classId == OChannelBinaryProtocol.RECORD_NULL)
return null;
if (classId == OChannelBinaryProtocol.RECORD_RID) {
return new ORecordId(network.readShort(), network.readLong());
} else {
final ORecordInternal<?> record = ORecordFactory.newInstance(network.readByte());
if (record instanceof ORecordSchemaAware<?>)
((ORecordSchemaAware<?>) record).fill(iDatabase, classId, network.readRID(), network.readInt(), network.readBytes());