code: public void remove(Featurable featurable, Integer id)
      {
          for (final Class<?> type : featurable.getClass().getInterfaces())
          {
              remove(type, featurable);
          }
  
          for (final Class<? extends Feature> feature : featurable.getFeaturesType())
          {
              final Feature object = featurable.getFeature(feature);
              remove(feature, object);
              for (final Class<?> other : UtilReflection.getInterfaces(feature, Feature.class))
              {
                  remove(other, object);
              }
  
          }
          remove(featurable.getClass(), featurable);
          removeSuperClass(featurable, featurable.getClass());
  
          featurables.remove(id);
      }
docs: Remove the featurable and all its references.
  
  @param featurable The featurable reference.
  @param id The featurable ID.