public T valueOf(Class<?> firstNameComponent, String secondNameComponent) {
        return valueOf(
                checkNotNull(firstNameComponent, "firstNameComponent").getName() +
                '#' +
                checkNotNull(secondNameComponent, "secondNameComponent"));
    }
@Test
    public void testComposedName() {
        TestConstant a = pool.valueOf(Object.class, "A");
        assertThat(a.name(), is("java.lang.Object#A"));
    }