public boolean equals(@NonNull String id1, @NonNull String id2) {
        return compare(id1, id2) == 0;
    }
@Test
    public void testEqualsCaseSensitiveEmailAddress() {
        IdStrategy idStrategy = new IdStrategy.CaseSensitiveEmailAddress();
        assertFalse(idStrategy.equals("john.smith@acme.org", "John.Smith@acme.org"));
        assertFalse(idStrategy.equals("john.smith@acme.org", "John.Smith@ACME.org"));
        assertFalse(idStrategy.equals("john.smith@acme.org", "John.Smith@ACME.org"));
        assertFalse(idStrategy.equals("john.smith@acme.org", "John.Smith@acme.ORG"));
        assertFalse(idStrategy.equals("John@smith@acme.org", "john@Smith@acme.ORG"));
        String sameUser = "john.smith@acme.org";
        assertTrue(idStrategy.equals(sameUser, sameUser));
        assertTrue(idStrategy.equals("John.Smith@ACME.org", "John.Smith@acme.org"));
        assertTrue(idStrategy.equals("John.Smith@acme.ORG", "John.Smith@acme.org"));
        assertTrue(idStrategy.equals("john@smith@ACME.org", "john@smith@acme.org"));
    }