code: @SuppressWarnings("unchecked")
  	public final <C extends T> ComponentList<C> getComponents(final String name) {
          final ComponentList<C> components = new ComponentList<C>();
          for (final T c : this) {
              if (c.getName().equals(name)) {
                  components.add((C) c);
              }
          }
          return components;
      }
docs: Returns a list containing all components with specified name.
  @param name name of components to return
  @return a list of components with the matching name