@Override
    public void cloneFields(Cloner cloner, Object original) {
        super.cloneFields(cloner, original);

        this.batches = cloner.clone(batches);
        this.tmpFloat = cloner.clone(tmpFloat);
        this.tmpFloatN = cloner.clone(tmpFloatN);
        this.tmpFloatT = cloner.clone(tmpFloatT);


        HashMap<Geometry, Batch> newBatchesByGeom = new HashMap<>();
        for (Map.Entry<Geometry, Batch> e : batchesByGeom.entrySet()) {
            newBatchesByGeom.put(cloner.clone(e.getKey()), cloner.clone(e.getValue()));
        }
        this.batchesByGeom = newBatchesByGeom;
    }
Called internally by com.jme3.util.clone.Cloner.  Do not call directly.
jme3-core/src/main/java/com/jme3/scene/BatchNode.java