@Override
    public <T extends Enum<T>> T readEnum(String name, Class<T> enumType, T defVal) throws IOException {
        String attribute = XMLUtils.getAttribute(importer.getFormatVersion(), currentElement, name);

        if (attribute.isEmpty()) {
            return defVal;
        }

        try {
            return Enum.valueOf(enumType, attribute);
        } catch (IllegalArgumentException | NullPointerException e) {
            throw new IOException(e);
        }
    }
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