@PublicAPI(usage = ACCESS)
    public static ArchCondition<JavaClass> onlyHaveDependentsWhere(DescribedPredicate<? super Dependency> predicate) {
        String description = "only have dependents where " + predicate.getDescription();
        return new AllDependenciesCondition(description, predicate, GET_DIRECT_DEPENDENCIES_TO_SELF);
    }
@Test
    public void only_have_dependents_where() {
        JavaClasses classes = importClasses(CallingClass.class, SomeClass.class);
        JavaClass accessedClass = classes.get(SomeClass.class);

        assertThat(onlyHaveDependentsWhere(alwaysFalse()))
                .checking(accessedClass)
                .haveAtLeastOneViolationMessageMatching(String.format(".*%s.*%s.*",
                        quote(CallingClass.class.getName()), quote(SomeClass.class.getName())));

        assertThat(onlyHaveDependentsWhere(DescribedPredicate.<Dependency>alwaysTrue().as("custom")))
                .hasDescription("only have dependents where custom")
                .checking(accessedClass)
                .containNoViolation();
    }