code: @Override
  	public <P, E extends Exception> void accept(ComponentVisitor<P, E> visitor, P parameter) throws E
  	{
  		visitor.visit(this, parameter);
  		
  		for (Component component : components)
  		{
  			component.accept(visitor, parameter);
  		}
  		
  		visitor.endVisit(this, parameter);
  	}
docs: ----------------------------------------------------------------------------------------------------------------