code: public static <FACETEDTYPE extends Faceted<FACETTYPE>, FACETTYPE extends Facet<FACETEDTYPE>> Set<Class<FACETTYPE>> getAllOptionalFacets(
              final Class<FACETTYPE> inspectedType)
     {
        Set<Class<FACETTYPE>> seen = new LinkedHashSet<Class<FACETTYPE>>();
        return getAllRelatedFacets(seen, inspectedType, FacetConstraintType.OPTIONAL);
     }
docs: Inspect the given {@link Class} for all {@link FacetConstraintType#OPTIONAL} dependency {@link Facet} types. This
  method inspects the entire constraint tree.