### Question:
IbftExtraData implements ParsedExtraData { public Bytes encodeWithoutCommitSeals() { return encode(EncodingType.EXCLUDE_COMMIT_SEALS); } IbftExtraData(
      final Bytes vanityData,
      final Collection<Signature> seals,
      final Optional<Vote> vote,
      final int round,
      final Collection<Address> validators); static IbftExtraData fromAddresses(final Collection<Address> addresses); static IbftExtraData decode(final BlockHeader blockHeader); Bytes encode(); Bytes encodeWithoutCommitSeals(); Bytes encodeWithoutCommitSealsAndRoundNumber(); static String createGenesisExtraDataString(final List<Address> validators); Bytes getVanityData(); Collection<Signature> getSeals(); Collection<Address> getValidators(); Optional<Vote> getVote(); int getRound(); @Override String toString(); static final int EXTRA_VANITY_LENGTH; }### Answer:
@Test public void extraDataCanBeEncodedWithoutCommitSeals() { final List<Address> validators = Arrays.asList(Address.fromHexString("1"), Address.fromHexString("2")); final Optional<Vote> vote = Optional.of(Vote.authVote(Address.fromHexString("1"))); final int round = 0x00FEDCBA; final List<Signature> committerSeals = Arrays.asList( Signature.create(BigInteger.ONE, BigInteger.TEN, (byte) 0), Signature.create(BigInteger.TEN, BigInteger.ONE, (byte) 0)); final byte[] vanity_bytes = createNonEmptyVanityData(); final Bytes vanity_data = Bytes.wrap(vanity_bytes); final BytesValueRLPOutput encoder = new BytesValueRLPOutput(); encoder.startList(); encoder.writeBytes(vanity_data); encoder.writeList(validators, (validator, rlp) -> rlp.writeBytes(validator)); vote.get().writeTo(encoder); encoder.writeInt(round); encoder.endList(); Bytes expectedEncoding = encoder.encoded(); Bytes actualEncoding = new IbftExtraData(vanity_data, committerSeals, vote, round, validators) .encodeWithoutCommitSeals(); assertThat(actualEncoding).isEqualTo(expectedEncoding); }