code: public Component addComponent(String name, String type, String description, String technology) {
          return getModel().addComponentOfType(this, name, type, description, technology);
      }
docs: Adds a component to this container.
  
  @param name          the name of the component
  @param type          a String describing the fully qualified name of the primary type of the component
  @param description   a description of the component
  @param technology    the technology of the component
  @return  the resulting Component instance
  @throws  IllegalArgumentException    if the component name is null or empty, or a component with the same name already exists