@Override
    public ParticleEmitter oldClone(boolean cloneMaterial) {
        ParticleEmitter clone = (ParticleEmitter) super.clone(cloneMaterial);
        clone.shape = shape.deepClone();

        // Reinitialize particle list
        clone.setNumParticles(particles.length);

        clone.faceNormal = faceNormal.clone();
        clone.startColor = startColor.clone();
        clone.endColor = endColor.clone();
        clone.particleInfluencer = particleInfluencer.clone();

        // remove original control from the clone
        clone.controls.remove(this.control);

        // put clone's control in
        clone.control = new ParticleEmitterControl(clone);
        clone.controls.add(clone.control);

        // Reinitialize particle mesh
        switch (meshType) {
            case Point:
                clone.particleMesh = new ParticlePointMesh();
                clone.setMesh(clone.particleMesh);
                break;
            case Triangle:
                clone.particleMesh = new ParticleTriMesh();
                clone.setMesh(clone.particleMesh);
                break;
            default:
                throw new IllegalStateException("Unrecognized particle type: " + meshType);
        }
        clone.particleMesh.initParticleData(clone, clone.particles.length);
        clone.particleMesh.setImagesXY(clone.imagesX, clone.imagesY);

        return clone;
    }
The old clone() method that did not use the new Cloner utility.
jme3-core/src/main/java/com/jme3/effect/ParticleEmitter.java