code: <T> T getFacet(@Nullable Class<T> facet) throws IllegalStateException
      {
          T plugin = null;
          if (facet != null)
          {
              List<T> plugins = getFacets(facet);
              if (plugins.size() > 1)
              {
                  throw new IllegalStateException(String.format("One implementation was expected for the %s facet, but found: %s", facet.getSimpleName(), plugins.toString()));
              } else if (plugins.size() == 1)
              {
                  plugin = plugins.get(0);
              }
          }
          return plugin;
      }
docs: Returns the plugin implementing the given facet.
  <p>
  In order to provide more flexibility, the given class can also
  be a Plugin class. In this case, its implementation will be directly
  returned if present.
  </p>
  
  @param facet the facet class
  @param <T>   the facet type
  @return the facet implementation or null if not present
  @throws java.lang.IllegalStateException if more than one implementation exists for the facet