code: public synchronized void add(String name, Class<?> cls) {
  
  		if (locked) {
  			throw new IllegalStateException(
  					"Component factory is locked. Components cannot be added");
  		}
  		supported.put(name, cls);
  		// add name to end of order vector
  		if (!order.contains(name))
  			order.addElement(name);
  	}
docs: Add a new component type to the factory. This method throws an exception
  if the class cannot be resolved. The name of the component IS NOT
  verified to allow component implementations to be overridden.
  
  @param name
  @param cls
  @throws ClassNotFoundException