/** * Clone the library into the specified workspace. The new object is <i>not</i> added to the * directory of that workspace (you must do this yourself if you want it there). If the library * has not yet been populated, then the clone will also not have been populated. * * @param workspace The workspace for the cloned object. * @exception CloneNotSupportedException If the library contains level crossing transitions so * that its connections cannot be cloned, or if one of the attributes cannot be cloned. * @return A new LazyTypedCompositeActor. */ public Object clone(Workspace workspace) throws CloneNotSupportedException { // To prevent populating during cloning, we set a flag. _cloning = true; try { LazyTypedCompositeActor result = (LazyTypedCompositeActor) super.clone(workspace); // There may or may not be configure text, but it won't be the // same as what we are cloning (instantiating) from. result._base = null; result._configureDone = false; result._populating = false; result._configureSource = null; result._configureText = null; result._cloning = false; return result; } finally { _cloning = false; } }