--- src/freemarker/ext/jython/JythonModelCache.java.orig 2015-07-05 08:47:07.035000000 +0000 +++ src/freemarker/ext/jython/JythonModelCache.java 2015-07-05 08:49:31.157000000 +0000 @@ -10,7 +10,7 @@ import org.python.core.PyDictionary; import org.python.core.PyFloat; import org.python.core.PyInteger; -import org.python.core.PyJavaInstance; +import org.python.core.PyJavaType; import org.python.core.PyLong; import org.python.core.PyNone; import org.python.core.PyObject; @@ -37,8 +37,8 @@ protected TemplateModel create(Object obj) { boolean asHash = false; boolean asSequence = false; - if(obj instanceof PyJavaInstance) { - Object jobj = ((PyJavaInstance)obj).__tojava__(java.lang.Object.class); + if(obj instanceof PyJavaType) { + Object jobj = PyJavaType.wrapJavaObject(obj).__tojava__(Object.class); // FreeMarker-aware, Jython-wrapped Java objects are left intact if(jobj instanceof TemplateModel) { return (TemplateModel)jobj;