### Question:
B2Bucket { @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; B2Bucket b2Bucket = (B2Bucket) o; return getRevision() == b2Bucket.getRevision() && Objects.equals(getAccountId(), b2Bucket.getAccountId()) && Objects.equals(getBucketId(), b2Bucket.getBucketId()) && Objects.equals(getBucketName(), b2Bucket.getBucketName()) && Objects.equals(getBucketType(), b2Bucket.getBucketType()) && Objects.equals(getBucketInfo(), b2Bucket.getBucketInfo()) && Objects.equals(getCorsRules(), b2Bucket.getCorsRules()) && Objects.equals(getLifecycleRules(), b2Bucket.getLifecycleRules()) && Objects.equals(getOptions(), b2Bucket.getOptions()); } @B2Json.constructor(params = "accountId,bucketId,bucketName,bucketType," + "bucketInfo,corsRules,lifecycleRules,options,revision")  B2Bucket(String accountId,
                    String bucketId,
                    String bucketName,
                    String bucketType,
                    Map<String, String> bucketInfo,
                    List<B2CorsRule> corsRules,
                    List<B2LifecycleRule> lifecycleRules,
                    Set<String> options,
                    int revision); String getAccountId(); String getBucketId(); String getBucketName(); String getBucketType(); Map<String, String> getBucketInfo(); List<B2CorsRule> getCorsRules(); List<B2LifecycleRule> getLifecycleRules(); Set<String> getOptions(); int getRevision(); @Override String toString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testEquals() { final B2Bucket bucket = new B2Bucket( ACCOUNT_ID, bucketId(1), BUCKET_NAME, BUCKET_TYPE, bucketInfo, b2CorsRules, lifecycleRules, optionsSet, 1); final String bucketJson = B2Json.toJsonOrThrowRuntime(bucket); final B2Bucket convertedBucket = B2Json.fromJsonOrThrowRuntime(bucketJson, B2Bucket.class); assertEquals(bucket, convertedBucket); }