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

        textPages = textPages.clone();
        for (int i = 0; i < textPages.length; i++) {
            textPages[i] = cloner.clone(textPages[i]);
        }

        // Cannot use the cloner to clone the StringBlock because it
        // is package private... so we'll forgo the (probably unnecessary)
        // reference fixup in this case and just clone it directly.
        //this.block = cloner.clone(block);
        this.block = block != null ? block.clone() : null;

        // Change in behavior: The 'letters' field was not cloned or recreated
        // before.  I'm not sure how this worked and suspect BitmapText was just
        // not cloneable if you planned to change the text later. -pspeed
        this.letters = new Letters(font, block, letters.getQuad().isRightToLeft());

        // Just noticed BitmapText is not even writable/readable really...
        // so I guess cloning doesn't come up that often.
    }
Called internally by com.jme3.util.clone.Cloner.  Do not call directly.
jme3-core/src/main/java/com/jme3/font/BitmapText.java