public ISerializationDiagnostic createBacktrackingFailedDiagnostic(SerializableObject semanticObject, EObject context, Nfa<ISemState> nfa) { GrammarElementTitleSwitch ele2str = new GrammarElementTitleSwitch().showAssignments().setValueForNull(null); ProductionStringFactory<AbstractElement> grammarFactory = new ProductionStringFactory<AbstractElement>(ele2str); String grammar = new NfaToProduction().nfaToGrammar(nfa, new GetGrammarEle(), grammarFactory); StringBuilder msg = new StringBuilder(); msg.append("Could not serialize EObject via backtracking.\n"); msg.append("Constraint: " + grammar + "\n"); msg.append(semanticObject.getValuesString()); return new SerializationDiagnostic(BACKTRACKING_FAILED, semanticObject.getEObject(), context, msg.toString()); }