android/guava/src/com/google/common/collect/Sets.java
public static <E> Set<E> newIdentityHashSet() {
    return Collections.newSetFromMap(Maps.<E, Boolean>newIdentityHashMap());
  }
public static <E> Set<E> newIdentityHashSet() {
    return Collections.newSetFromMap(Maps.<E, Boolean>newIdentityHashMap());
  }
public static < E > Set < E > newIdentityHashSet ( ) { return Collections . newSetFromMap ( Maps . < E , Boolean > newIdentityHashMap ( ) ) ; }
Creates an empty {@code Set} that uses identity to determine equality. It compares object
references, instead of calling {@code equals}, to determine whether a provided object matches
an element in the set. For example, {@code contains} returns {@code false} when passed an
object that equals a set member, but isn't the same instance. This behavior is similar to the
way {@code IdentityHashMap} handles key lookups.

@since 8.0
Creates an empty { @code Set } that uses identity to determine equality . It compares object references instead of calling { @code equals } to determine whether a provided object matches an element in the set . For example { @code contains } returns { @code false } when passed an object that equals a set member but isn t the same instance . This behavior is similar to the way { @code IdentityHashMap } handles key lookups .