SharedMesh copy = new SharedMesh(this.getName()+target.getName(), (TriMesh)target);
SharedMesh copy = new SharedMesh(this.getName()+target.getName(), (TriMesh)target, updatesCollisionTree);
	private void processTarget(Node parent, Spatial target) {		if((target.getType() & Spatial.NODE) != 0) {			Node ntarget = (Node)target;			Node node = new Node(this.getName()+ntarget.getName());            node.setCullMode(ntarget.getCullMode());			node.setLightCombineMode(ntarget.getLightCombineMode());			node.setLocalRotation(ntarget.getLocalRotation());			node.setLocalScale(ntarget.getLocalScale());			node.setLocalTranslation(ntarget.getLocalTranslation());			node.setRenderQueueMode(ntarget.getRenderQueueMode());			node.setTextureCombineMode(ntarget.getTextureCombineMode());			node.setZOrder(ntarget.getZOrder());						for (int i = 0; i < RenderState.RS_MAX_STATE; i++) {                RenderState state = ntarget.getRenderState( i );                if (state != null) {                    node.setRenderState(state );                }			}						parent.attachChild(node);						for(int i = 0; i < ntarget.getChildren().size(); i++) {				processTarget(node, ntarget.getChild(i));			}					} else if((target.getType() & Spatial.TRIMESH) != 0) {			if((target.getType() & Spatial.SHARED_MESH )!= 0) {				SharedMesh copy = new SharedMesh(this.getName()+target.getName(), (SharedMesh)target);				parent.attachChild(copy);			} else {				SharedMesh copy = new SharedMesh(this.getName()+target.getName(), (TriMesh)target);				parent.attachChild(copy);			}		}	}