code: @Override
      public final Iterable<T> load(Map<String, Object> options, BeanSpec container, final Genie genie) {
          ElementType elementType = (ElementType)options.get("elementType");
          boolean loadNonPublic = (Boolean)options.get("loadNonPublic");
          boolean loadRoot = (Boolean) options.get("loadRoot");
          $.Var<ElementType> typeVar = $.var(elementType);
          Class<T> targetClass = targetClass(typeVar, options, container);
          boolean loadAbstract = typeVar.get().loadAbstract() && (Boolean) options.get("loadAbstract");
          List<Class<? extends T>> classes = load(targetClass, loadNonPublic, loadAbstract, loadRoot);
          return (Iterable<T>)typeVar.get().transform((List)classes, genie);
      }
docs: This method will load instances of all public and non-abstract classes that
  implements/extends the interface/class specified as `value` option
  
  @param options   must contains an entry indexed with "value" and the value should be a Class type
  @param container the bean spec of the container into which the element will be loaded
  @param genie     the dependency injector
  @return the list of bean instances whose class is sub class or implementation of `hint`