Key< Integer> lead = in.start();
format.getLead().read( in);
log( "Lead ended at '" + in.finish( lead) + "'.");
Key< Integer> signature = in.start();
int count = format.getSignature().read( in);
<BUG>int expected = ByteBuffer.wrap(( byte[]) format.getSignature().getEntry( SIGNATURES).getValues(), 8, 4).getInt() / -16;
log( "Signature ended at '" + in.finish( signature) + "' and contained '" + count + "' headers (expected '" + expected + "').");</BUG>
Integer headerStartPos = in.finish(headerStartKey);
format.getHeader().setStartPos(headerStartPos);
Key< Integer> headerKey = in.start();

Key< Integer> lead = in.start();
format.getLead().read( in);
log( "Lead ended at '" + in.finish( lead) + "'.");
Key< Integer> signature = in.start();
int count = format.getSignature().read( in);
Entry<?> sigEntry = format.getSignatur().getEntry(SIGNATURES);
int expected = sigEntry == null ? 0: ByteBuffer.wrap(( byte[]) sigEntry.getValues(), 8, 4).getInt() / -16;
log( "Signature ended at '" + in.finish( signature) + "' and contained '" + count + "' headers (expected '" + expected + "').");
Integer headerStartPos = in.finish(headerStartKey);
format.getHeader().setStartPos(headerStartPos);
Key< Integer> headerKey = in.start();
