@Override
    public Mesh clone() {
        try {
            Mesh clone = (Mesh) super.clone();
            clone.meshBound = meshBound.clone();
            clone.collisionTree = collisionTree != null ? collisionTree : null;
            clone.buffers = buffers.clone();
            clone.buffersList = new SafeArrayList<>(VertexBuffer.class, buffersList);
            clone.vertexArrayID = DEFAULT_VERTEX_ARRAY_ID;
            if (elementLengths != null) {
                clone.elementLengths = elementLengths.clone();
            }
            if (modeStart != null) {
                clone.modeStart = modeStart.clone();
            }
            return clone;
        } catch (CloneNotSupportedException ex) {
            throw new AssertionError();
        }
    }
Create a shallow clone of this Mesh. The {@link VertexBuffer vertex
buffers} are shared between this and the clone mesh, the rest
of the data is cloned.

@return A shallow clone of the mesh
jme3-core/src/main/java/com/jme3/scene/Mesh.java