### Question:
Identity implements Executor { public static Identity get(String name) { if (DEFAULT_NAME.equals(name)) { return DEFAULT; } Identity ret = null; synchronized (sIdentityMap) { WeakReference<Identity> ref = sIdentityMap.get(name); if (ref != null) { ret = ref.get(); } if (ret == null) { ret = new Identity(name); sIdentityMap.put(name, new WeakReference<>(ret)); } } return ret; } private  Identity(String name); static Identity get(String name); static Identity create(); @Nullable static Identity current(); String name(); boolean isCurrent(); void require(); static void require(Collection<Identity> identities); void exclude(); Executor wrapExecutor(Executor executor); ScheduledExecutorService wrapExecutor(ScheduledExecutorService executor); @Override void execute(Runnable command); @Override String toString(); static final Identity DEFAULT; }### Answer:
@Test void get() { Identity idBlah = Identity.get("blah"); assertEquals(idBlah, Identity.get("blah")); assertNotEquals(idBlah, Identity.get("foobar")); }