@Override
    @SuppressWarnings("unchecked")
    public void read(JmeImporter im) throws IOException {
        InputCapsule ic = im.getCapsule(this);
        name = ic.readString("name", null);
        shaderNames.put(Shader.ShaderType.Vertex,ic.readString("vertName", null));
        shaderNames.put(Shader.ShaderType.Fragment,ic.readString("fragName", null));
        shaderNames.put(Shader.ShaderType.Geometry,ic.readString("geomName", null));
        shaderNames.put(Shader.ShaderType.TessellationControl,ic.readString("tsctrlName", null));
        shaderNames.put(Shader.ShaderType.TessellationEvaluation,ic.readString("tsevalName", null));
        shaderPrologue = ic.readString("shaderPrologue", null);
        lightMode = ic.readEnum("lightMode", LightMode.class, LightMode.Disable);
        shadowMode = ic.readEnum("shadowMode", ShadowMode.class, ShadowMode.Disable);
        renderState = (RenderState) ic.readSavable("renderState", null);
        noRender = ic.readBoolean("noRender", false);

        if (ic.getSavableVersion(TechniqueDef.class) == 0) {
            // Old version
            shaderLanguages.put(Shader.ShaderType.Vertex,ic.readString("shaderLang", null));
            shaderLanguages.put(Shader.ShaderType.Fragment,shaderLanguages.get(Shader.ShaderType.Vertex));
        } else {
            // New version
            shaderLanguages.put(Shader.ShaderType.Vertex,ic.readString("vertLanguage", null));
            shaderLanguages.put(Shader.ShaderType.Fragment,ic.readString("fragLanguage", null));
            shaderLanguages.put(Shader.ShaderType.Geometry,ic.readString("geomLanguage", null));
            shaderLanguages.put(Shader.ShaderType.TessellationControl,ic.readString("tsctrlLanguage", null));
            shaderLanguages.put(Shader.ShaderType.TessellationEvaluation,ic.readString("tsevalLanguage", null));
        }

        usesNodes = ic.readBoolean("usesNodes", false);
        shaderNodes = ic.readSavableArrayList("shaderNodes", null);
        shaderGenerationInfo = (ShaderGenerationInfo) ic.readSavable("shaderGenerationInfo", null);
    }
Returns a list of world parameters that are used by this
technique definition.

@return The list of world parameters
jme3-core/src/main/java/com/jme3/material/TechniqueDef.java