private TypedValue getPrintCall(SimpleTypeSG pController, JavaMethod pMethod,
Object pValue, Object pData) {
JavaQName type = getType(pController);
LocalJavaField f = pMethod.newJavaField(String.class);
DirectAccessible value = getValue(pMethod, pValue, type);
List list = new ArrayList();
addCall(pController, list, javaType.getPrintMethod(), type);
addValues(list, value, pData);
pMethod.addTry();
pMethod.addLine(f, " = ", list, ";");
DirectAccessible e = pMethod.addCatch(Exception.class);
pMethod.addLine(pData, ".printConversionEvent(pObject, ",
JavaSource.getQuoted("Failed to convert value "),
" + ", value, " + ", JavaSource.getQuoted(": "),
" + ", e, ".getClass().getName(), ", e, ");");
pMethod.addLine(f, " = null;");