@Override
    public Animation clone() {
        try {
            Animation result = (Animation) super.clone();
            result.tracks = new SafeArrayList<>(Track.class);
            for (Track track : tracks) {
                result.tracks.add(track.clone());
            }
            return result;
        } catch (CloneNotSupportedException e) {
            throw new AssertionError();
        }
    }
This method creates a clone of the current object.
@return a clone of the current object
jme3-core/src/main/java/com/jme3/animation/Animation.java