code: @SuppressWarnings("unchecked")
      public <T extends Component> T createComponent(final String name, final PropertyList properties,
                                                     final ComponentList<? extends Component> components) {
          Component component;
          ComponentFactory factory = getFactory(name);
          if (factory != null) {
              component = factory.createComponent(properties, components);
          } else {
              throw new IllegalArgumentException("Unsupported component [" + name + "]");
          }
          return (T) component;
      }
docs: Creates a component which contains sub-components. Currently the only such component is VTIMEZONE.
  
  @param name       name of the component
  @param properties a list of component properties
  @param components a list of sub-components (namely standard/daylight timezones)
  @return a component