@Test public void testDifferentIdPojoDoesNotEqual() { TestPojo pojo1 = new TestPojo(100, ""); TestPojo pojo2 = new TestPojo(200, ""); assertFalse(pojo1.equals(pojo2)); }
@Override public boolean equals(Object o) { return getTypeParameterClass().isInstance(o); }
OverwritablePojo { @Override public boolean equals(Object o) { return getTypeParameterClass().isInstance(o); } }
OverwritablePojo { @Override public boolean equals(Object o) { return getTypeParameterClass().isInstance(o); }  }
OverwritablePojo { @Override public boolean equals(Object o) { return getTypeParameterClass().isInstance(o); }  @NonNull @SuppressWarnings("unchecked") T overwrite(@NonNull final T other); @Override boolean equals(Object o); }
OverwritablePojo { @Override public boolean equals(Object o) { return getTypeParameterClass().isInstance(o); }  @NonNull @SuppressWarnings("unchecked") T overwrite(@NonNull final T other); @Override boolean equals(Object o);  }