### Question:
BLSSignature implements SimpleOffsetSerializable { public static BLSSignature fromBytesCompressed(Bytes bytes) { checkArgument( bytes.size() == BLSConstants.BLS_SIGNATURE_SIZE, "Expected " + BLSConstants.BLS_SIGNATURE_SIZE + " bytes but received %s.", bytes.size()); return new BLSSignature(bytes); } BLSSignature(Signature signature);   BLSSignature(Bytes signatureBytes); private  BLSSignature(Supplier<Signature> signature, Supplier<Bytes> bytesCompressed); static BLSSignature random(int entropy); static BLSSignature empty(); @Override int getSSZFieldCount(); @Override List<Bytes> get_fixed_parts(); static BLSSignature fromBytesCompressed(Bytes bytes); static BLSSignature fromSSZBytes(Bytes bytes); Bytes toSSZBytes(); Bytes toBytesCompressed(); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); static final int SSZ_FIELD_COUNT; static final int SSZ_BLS_SIGNATURE_SIZE; }### Answer:
@Test void succeedsIfDeserializationThrowsWithTooFewBytes() { Bytes tooFewBytes = Bytes.wrap(new byte[95]); assertThrows( IllegalArgumentException.class, () -> BLSSignature.fromBytesCompressed(tooFewBytes)); }