JavaField instances = js.newJavaField("instances", qNameArray, JavaSource.PRIVATE);
instances.addLine(new Object[]{"new ", qNameArray, "{", instanceParams, "}"});
instances.setStatic(true);
instances.setFinal(true);
JavaConstructor con = js.newJavaConstructor(JavaSource.PRIVATE);
DirectAccessible pName = con.addParam(String.class, "pName");
DirectAccessible pValue = con.addParam(super.getRuntimeType(pController), "pValue");
DirectAccessible pLexicalValue = con.addParam(String.class, "pLexicalValue");
con.addLine(name, " = ", pName, ";");
con.addLine(value, " = ", pValue, ";");
con.addLine(lexicalValue, " = ", pLexicalValue, ";");
JavaMethod toStringMethod = js.newJavaMethod("toString", String.class, JavaSource.PUBLIC);
toStringMethod.addLine("return ", lexicalValue, ";");
JavaMethod getValueMethod = js.newJavaMethod("getValue", valueType, JavaSource.PUBLIC);