JsonRpcV1Request { @Override public boolean equals(Object other) { if (this == other) { return true; } if (!(other instanceof JsonRpcV1Request)) { return false; } JsonRpcV1Request that = (JsonRpcV1Request) other; return Objects.equals(method, that.method) && Objects.equals(params, that.params) && Objects.equals(id, that.id); } @JsonCreator  JsonRpcV1Request(
      @JsonProperty(value = METHOD, required = true) String method,
      @JsonProperty(value = PARAMS, required = true) ArrayNode params,
      @JsonProperty(value = ID, required = true) String id
  );  JsonRpcV1Request(String id, String method, Object... params); String getMethod(); ArrayNode getParams(); String getId(); @Override boolean equals(Object other); @Override int hashCode(); @Override String toString();  }
@Test public void testEquals() { new EqualsTester() .addEqualityGroup( new JsonRpcV1Request("id", "method", 123, 4.56), new JsonRpcV1Request("id", "method", 123, 4.56) ) .addEqualityGroup( new JsonRpcV1Request(null, "method"), new JsonRpcV1Request(null, "method") ).testEquals(); }