### Question:
PrivateTransaction { public static Builder builder() { return new Builder(); } protected  PrivateTransaction(
      final long nonce,
      final Wei gasPrice,
      final long gasLimit,
      final Optional<Address> to,
      final Wei value,
      final SECP256K1.Signature signature,
      final Bytes payload,
      final Address sender,
      final Optional<BigInteger> chainId,
      final Bytes privateFrom,
      final Optional<List<Bytes>> privateFor,
      final Optional<Bytes> privacyGroupId,
      final Restriction restriction); protected  PrivateTransaction(final PrivateTransaction privateTransaction); static Builder builder(); @SuppressWarnings({"unchecked"}) static PrivateTransaction readFrom(final RLPInput input); boolean isGroupRemovalTransaction(); long getNonce(); Wei getGasPrice(); long getGasLimit(); Optional<Address> getTo(); Wei getValue(); SECP256K1.Signature getSignature(); Bytes getPayload(); Optional<BigInteger> getChainId(); Bytes getPrivateFrom(); Optional<List<Bytes>> getPrivateFor(); Optional<Bytes> getPrivacyGroupId(); Restriction getRestriction(); Address getSender(); void writeTo(final RLPOutput out); BigInteger getR(); BigInteger getS(); BigInteger getV(); @Deprecated(since = "1.4.3") Hash getHash(); boolean isContractCreation(); Wei getUpfrontGasCost(); Wei getUpfrontCost(); Bytes32 determinePrivacyGroupId(); @Override boolean equals(final Object other); @Override int hashCode(); @Override String toString(); Optional<Address> contractAddress();  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testBuildInvalidPrivateTransactionThrowsException() { PrivateTransaction.builder() .nonce(0) .gasPrice(Wei.of(1000)) .gasLimit(3000000) .to(Address.fromHexString("0x627306090abab3a6e1400e9345bc60c78a8bef57")) .value(Wei.ZERO) .payload(Bytes.fromHexString("0x")) .sender(Address.fromHexString("0xfe3b557e8fb62b89f4916b721be55ceb828dbd73")) .chainId(BigInteger.valueOf(2018)) .privacyGroupId(Bytes.fromBase64String("DyAOiF/ynpc+JXa2YAGB0bCitSlOMNm+ShmB/7M6C4w=")) .privateFrom(Bytes.fromBase64String("A1aVtMxLCUHmBVHXoZzzBgPbW/wj5axDpW9X8l91SGo=")) .privateFor( Lists.newArrayList( Bytes.fromBase64String("A1aVtMxLCUHmBVHXoZzzBgPbW/wj5axDpW9X8l91SGo="), Bytes.fromBase64String("Ko2bVqD+nNlNYL5EE7y3IdOnviftjiizpjRt+HTuFBs="))) .restriction(Restriction.RESTRICTED) .build(); }