public PythonInterpreter(PyObject dict, PySystemState systemState) {
   if (dict == null) dict = new PyStringMap();
   if (systemState == null) {
     systemState = Py.getSystemState();
     if (systemState == null) systemState = new PySystemState();
   }
   module = new PyModule("main", dict);
   this.systemState = systemState;
   locals = module.__dict__;
   setState();
 }
 protected void setState() {
   Py.setSystemState(systemState);
 }
 /**
  * Get the value of a variable in the local namespace Value will be returned as an instance of the
  * given Java class. <code>interp.get("foo", Object.class)</code> will return the most appropriate
  * generic Java object.
  *
  * @param name the name of the variable
  * @param javaclass the class of object to return
  */
 public Object get(String name, Class javaclass) {
   return Py.tojava(locals.__finditem__(name.intern()), javaclass);
 }
 /**
  * Set a variable in the local namespace
  *
  * @param name the name of the variable
  * @param value the value to set the variable to. Will be automatically converted to an
  *     appropriate Python object.
  */
 public void set(String name, Object value) {
   locals.__setitem__(name.intern(), Py.java2py(value));
 }
 public void execfile(java.io.InputStream s, String name) {
   setState();
   Py.runCode(Py.compile_flags(s, name, "exec", cflags), locals, locals);
 }
 /**
  * Execute a Python code object in the local namespace
  *
  * @param code the code object to execute
  */
 public void exec(PyObject code) {
   setState();
   Py.exec(code, locals, locals);
 }
 /**
  * Execute a string of Python source in the local namespace
  *
  * @param s the string to execute
  */
 public void exec(String s) {
   setState();
   Py.exec(Py.compile_flags(s, "<string>", "exec", cflags), locals, locals);
 }