// Path: src/main/java/org/jupyterkernel/json/messages/T_kernel_info_reply.java
// public class T_kernel_info_reply extends T_JSON {
// 
//     @JSONField
//     public String protocol_version;
//     
//     @JSONField
//     public String implementation_version;
// 
//     @JSONField
//     public String implementation;
//     
//     @JSONField(type = "T_JSON")
//     public T_language_info language_info;
//     
//     @JSONField
//     public String banner;
// 
//     @JSONField
//     public JSONArray help_links;
// 
//     public T_kernel_info_reply() {
//         this.protocol_version = T_JSON.message_protocol_version;
//     }
//     
// }
// 
// Path: src/main/java/org/jupyterkernel/json/messages/T_language_info.java
// public class T_language_info extends T_JSON {
// 
//     @JSONField
//     public String name;
//     
//     @JSONField
//     public String version;
//     
//     @JSONField
//     public String mimetype;
//     
//     @JSONField
//     public String file_extension;
//     
//     @JSONField
//     public String pygments_lexer;
// 
//     @JSONField
//     public String codemirror_mode;
// 
//     @JSONField
//     public String nbconverter_exporter;    
// }


import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.script.ScriptException;
import org.json.XML;
import org.jupyterkernel.json.messages.T_kernel_info_reply;
import org.jupyterkernel.json.messages.T_language_info;
        } else {
            traceback = XML.escape(tb[0] + "\n" + tb[1]);
        }
        //traceback = traceback.replaceAll("\n", "<br>");
        stderrWriter.write("<pre><font color=\"red\">" + traceback + "</font></pre>");
    }

    /**
     *
     * @param codeString source code which is evaluted by the ScriptEngine
     * @return result of the evaluation
     *
     */
    @Override
    public Object eval(String codeString) {
        Object res = null;
        ex = null;
        try {
            res = engine.eval(codeString);
        } catch (ScriptException e) {
            ex = e;
            setErrorMessage();
        }
        stopStreaming();
        return res;
    }

    @Override
    public T_kernel_info_reply getKernelInfo() {
        String version = "";
// Path: src/main/java/org/jupyterkernel/json/messages/T_kernel_info_reply.java
// public class T_kernel_info_reply extends T_JSON {
// 
//     @JSONField
//     public String protocol_version;
//     
//     @JSONField
//     public String implementation_version;
// 
//     @JSONField
//     public String implementation;
//     
//     @JSONField(type = "T_JSON")
//     public T_language_info language_info;
//     
//     @JSONField
//     public String banner;
// 
//     @JSONField
//     public JSONArray help_links;
// 
//     public T_kernel_info_reply() {
//         this.protocol_version = T_JSON.message_protocol_version;
//     }
//     
// }
// 
// Path: src/main/java/org/jupyterkernel/json/messages/T_language_info.java
// public class T_language_info extends T_JSON {
// 
//     @JSONField
//     public String name;
//     
//     @JSONField
//     public String version;
//     
//     @JSONField
//     public String mimetype;
//     
//     @JSONField
//     public String file_extension;
//     
//     @JSONField
//     public String pygments_lexer;
// 
//     @JSONField
//     public String codemirror_mode;
// 
//     @JSONField
//     public String nbconverter_exporter;    
// }


// Path: src/main/java/org/jupyterkernel/console/ClojureConsole.java
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.script.ScriptException;
import org.json.XML;
import org.jupyterkernel.json.messages.T_kernel_info_reply;
import org.jupyterkernel.json.messages.T_language_info;

        } else {
            traceback = XML.escape(tb[0] + "\n" + tb[1]);
        }
        //traceback = traceback.replaceAll("\n", "<br>");
        stderrWriter.write("<pre><font color=\"red\">" + traceback + "</font></pre>");
    }

    /**
     *
     * @param codeString source code which is evaluted by the ScriptEngine
     * @return result of the evaluation
     *
     */
    @Override
    public Object eval(String codeString) {
        Object res = null;
        ex = null;
        try {
            res = engine.eval(codeString);
        } catch (ScriptException e) {
            ex = e;
            setErrorMessage();
        }
        stopStreaming();
        return res;
    }

    @Override
    public T_kernel_info_reply getKernelInfo() {
        String version = "";
        T_kernel_info_reply kernelInfoReply = new T_kernel_info_reply();