code: public void add(Featurable featurable)
      {
          featurables.put(featurable.getFeature(Identifiable.class).getId(), featurable);
  
          for (final Class<?> type : featurable.getClass().getInterfaces())
          {
              addType(type, featurable);
          }
  
          for (final Class<? extends Feature> feature : featurable.getFeaturesType())
          {
              final Feature object = featurable.getFeature(feature);
              addType(feature, object);
              for (final Class<?> other : UtilReflection.getInterfaces(feature, Feature.class))
              {
                  addType(other, object);
              }
          }
          addType(featurable.getClass(), featurable);
          addSuperClass(featurable, featurable.getClass());
      }
docs: Add a featurable.
  
  @param featurable The featurable to add.