@Override
    @PublicAPI(usage = ACCESS)
    public String getName() {
        return descriptor.getFullyQualifiedClassName();
    }
@Test
    @UseDataProvider
    public void test_predicate_belong_to(DescribedPredicate<JavaClass> belongToPredicate) {
        JavaClasses classes = new ClassFileImporter().importPackagesOf(getClass());
        JavaClass outerAnonymous =
                getOnlyClassSettingField(classes, ClassWithNamedAndAnonymousInnerClasses.name_of_fieldIndicatingOuterAnonymousInnerClass);
        JavaClass nestedAnonymous =
                getOnlyClassSettingField(classes, ClassWithNamedAndAnonymousInnerClasses.name_of_fieldIndicatingNestedAnonymousInnerClass);

        assertThat(belongToPredicate)
                .hasDescription(String.format("belong to any of [%s, %s]",
                        Object.class.getName(), ClassWithNamedAndAnonymousInnerClasses.class.getName()))
                .accepts(classes.get(ClassWithNamedAndAnonymousInnerClasses.class))
                .accepts(classes.get(ClassWithNamedAndAnonymousInnerClasses.NamedInnerClass.class))
                .accepts(classes.get(ClassWithNamedAndAnonymousInnerClasses.NamedInnerClass.NestedNamedInnerClass.class))
                .accepts(outerAnonymous)
                .accepts(nestedAnonymous)
                .rejects(classes.get(getClass()));
    }