int (final byte headerByte0, final int headerBytes1_4) { final byte recordSizeType = recordSizeType(headerByte0); if (recordSizeType != RECORD_SIZE_TYPE_LARGE) { throw new IllegalArgumentException("headerByte0(" + headerByte0 + ") doesn't encode LARGE record!"); } final int first5bits = headerByte0 & CAPACITY_MASK_0; final int next12bits = (headerBytes1_4 >> LENGTH_BITS) & CAPACITY_MASK_1; final int allBits = (first5bits << CAPACITY_BITS_1) | next12bits; return (allBits << 3) + MIN_CAPACITY; }