RecipeComponent component = new ComplexRecipeBase(cdata, null);
RecipeComponent component = null;  try { Constructor cons = this.getClass().getConstructor(constructorParams); component = (RecipeComponent)cons.newInstance(new Object[] {cdata, null}); } catch (Exception e) { if (log.isErrorEnabled()) log.error("copy: Failed to create a copy of class " + this.getClass(), e); return null; }
  public ModifiableComponent copy(String name) {        ComponentData cdata = getComponentData();    cdata.setName(name);    RecipeComponent component = new ComplexRecipeBase(cdata, null);    component.initProperties();    ((ComplexRecipeBase)component).modified = this.modified;    ((ComplexRecipeBase)component).oldAssemblyId = getAssemblyId();    return component;  }