@Override
    public String[][] readStringArray2D(String name, String[][] defVal) throws IOException {
        Element outerArrayElement = findChildElement(name);
        List<Element> innerArrayElements = getObjectArrayElements(outerArrayElement);

        if (innerArrayElements == null) {
            return defVal;
        }

        currentElement = outerArrayElement;

        String[][] arrays = new String[innerArrayElements.size()][];
        for (int i = 0; i < innerArrayElements.size(); i++) {
            arrays[i] = readStringArray(innerArrayElements.get(i).getTagName(), null);
        }

        currentElement = (Element) currentElement.getParentNode();

        return arrays;
    }
Part of the jME XML IO system as introduced in the Google Code jmexml project.

@author Kai Rabien (hevee) - original author of the code.google.com jmexml project
@author Doug Daniels (dougnukem) - adjustments for jME 2.0 and Java 1.5
@author blaine
jme3-plugins/src/xml/java/com/jme3/export/xml/DOMInputCapsule.java