@Override
    @SuppressWarnings("unchecked")
    public void read(JmeImporter im) throws IOException {
        InputCapsule ic = im.getCapsule(this);
        name = ic.readString("name", "");

        String[] str = ic.readStringArray("shadersLanguage", null);
        if (str != null) {
            shadersLanguage = Arrays.asList(str);
        } else {
            shadersLanguage = new ArrayList<String>();
        }

        str = ic.readStringArray("shadersPath", null);
        if (str != null) {
            shadersPath = Arrays.asList(str);
        } else {
            shadersPath = new ArrayList<String>();
        }

        type = ic.readEnum("type", Shader.ShaderType.class, null);
        inputs = ic.readSavableArrayList("inputs", new ArrayList<>());
        outputs = ic.readSavableArrayList("outputs", new ArrayList<>());
    }
jme serialization (not used)

@param im the importer
@throws IOException from the importer
jme3-core/src/main/java/com/jme3/shader/ShaderNodeDefinition.java