public void copyAttachedLayeredComponents(ModelComponent source, ModelComponent acceptor) {
		List<Layered> l = getLayeredComponentHostedBy(source);
		if (l != null && !l.isEmpty()) {
			for (Layered x : l) {
				Layered y = null;
				if (x instanceof ImageComponent) {
					try {
						y = new ImageComponent((ImageComponent) x);
					} catch (IOException e) {
						e.printStackTrace();
					}
				} else if (x instanceof RectangleComponent) {
					y = new RectangleComponent((RectangleComponent) x);
				} else if (x instanceof TriangleComponent) {
					y = new TriangleComponent((TriangleComponent) x);
				} else if (x instanceof EllipseComponent) {
					y = new EllipseComponent((EllipseComponent) x);
				} else if (x instanceof LineComponent) {
					y = new LineComponent((LineComponent) x);
				} else if (x instanceof TextBoxComponent) {
					y = new TextBoxComponent((TextBoxComponent) x);
				}
				if (y != null) {
					addLayeredComponent(y);
					y.setHost(acceptor);
				}
			}
		}
	}