private <A> long insert2(A obj, Serializer<A> serializer, byte[] insertBuffer, OpenByteArrayOutputStream insertBAO, SerializerOutput insertOut) throws IOException { insertBAO.reset(insertBuffer); serializer.serialize(insertOut, obj); if(compress){ byte[] data = compress(insertBAO.getBuf(),insertBAO.size()); insertBAO.reset(insertBuffer); insertBAO.write(data); } long physRowId = _physMgr.insert( insertBAO.getBuf(), 0, insertBAO.size() ); long recid = _logicMgr.insert( physRowId ); if ( DEBUG ) { System.out.println( "BaseRecordManager.insert() recid " + recid + " length " + insertBAO.size() ) ; } return compressRecid(recid); }