code: static <FACETEDTYPE extends Faceted<?>, FACETTYPE extends Facet<FACETEDTYPE>> boolean hasCircularConstraints(
              Class<?> inspectedType)
     {
        Set<Class<FACETTYPE>> allRelatedFacets = getAllRelatedFacets(inspectedType);
        for (Class<? extends Facet<?>> requirement : allRelatedFacets)
        {
           for (Class<? extends Facet<?>> subrequirement : getAllRelatedFacets(requirement))
           {
              if (subrequirement.isAssignableFrom(requirement))
                 return true;
           }
        }
        return false;
     }
docs: Inspect the given {@link Class}, and return <code>true</code> if any circular dependencies are detected between
  any {@link FacetConstraint} declarations.