component = (ModifiableComponent)this.copy(component);
  public ModifiableComponent copy(String name) {    Class cls = this.getClass();    try {      Constructor constructor = cls.getConstructor(constructorArgTypes);      ModifiableComponent component = 	(ModifiableComponent) constructor.newInstance(new String[] {name});      component.initProperties();      return component;    } catch (Exception e) {      if(log.isErrorEnabled()) {        log.error("Exception", e);      }      return null;    }  }