cloned.frameModel = fmodel;
    public ShapeGraphic createInstance(org.cougaar.core.qos.frame.Frame frame) {        try {            ShapeGraphic cloned = (ShapeGraphic) this.clone();            if (frame != null)                cloned.setFrame(frame);            cloned.setPrototype(false);            cloned.shapePrototype = (shapePrototype != null ? ((RectangularShape) shapePrototype.clone()) : null);            cloned.shape = cloned.createShape();            org.cougaar.core.qos.frame.Frame parent = getFrame();            if (cloned.predicate != null && parent != null)                cloned.predicate = new FramePredicate(cloned.predicate, (String) parent.getValue("name"));            if (slotListeners.size() > 0) {                cloned.slotListeners = new ArrayList();                for (Iterator ii=slotListeners.iterator(); ii.hasNext();) {                    cloned.addSlotListener(((SlotChangeListener)ii.next()).cloneInstance());                }            }            cloned.validateListeners();            return cloned;        } catch (CloneNotSupportedException ee) {            ee.printStackTrace();        }        return null;    }