GcmClient extends Client { @Override public boolean equals(Object other) { if (!super.equals(other)) return false; GcmClient client = (GcmClient) other; return Objects.equal(gcmClientId, client.gcmClientId); } @JsonCreator  GcmClient(
			@JsonProperty("id") String id,
			@JsonProperty("gcmClientId") String gcmClientId); String getGcmClientId(); @Override boolean equals(Object other); @Override int hashCode(); @Override R accept(ClientVisitor<P,R> visitor, P param); static final String CLIENT_TYPE; }
@Test public final void testEquals() { GcmClient client1 = new GcmClient("0", "0"); GcmClient client2 = new GcmClient("0", "0"); GcmClient client3 = new GcmClient("1", "0"); GcmClient client4 = new GcmClient("0", "1"); assertEquals(client1, client1); assertEquals(client1, client2); assertNotEquals(client1, client3); assertNotEquals(client1, client4); assertNotEquals(client1, null); assertNotEquals(client1, new Object()); assertEquals(client1.hashCode(), client1.hashCode()); assertEquals(client1.hashCode(), client2.hashCode()); assertNotEquals(client1.hashCode(), client3.hashCode()); assertNotEquals(client1.hashCode(), client4.hashCode()); }