Either beans should be Cloneable, or Scufl2Tools should provide a simple way to copy a bean.
If implemented using Cloneable, beans should generally be deep-copied only 'downwards', so that if you copy say a Processor - it would also make a copy of its ports, iteration strategy and dispatch stack, but not it's parent or it's side-parts (dispatch layer configurations and processor bindings) in the Profiles.
If implemented using Cloneable, you should not setParent() on the new copy, as this would cause a name conflict. Alternatively a protected clone(newParent) (used by clone() on bean with children) would allow to make a copy and set the new parent.
If implemented using Scufl2Tools it's easier to add customization, for instance giving a 'destination' (the new parent or workflow bundle), to also copy matching configurations, annotations and bindings, bundle to bundle copying, or copying with rename.