{
OtpErlangTuple transition = (OtpErlangTuple) transitionObj;
if (transition.arity() != 3)
throw new IllegalArgumentException("expected 3 components in transition "+transition);
OtpErlangAtom from = (OtpErlangAtom)transition.elementAt(0),label = (OtpErlangAtom)transition.elementAt(1),to = (OtpErlangAtom)transition.elementAt(2);
CmpVertex fromState = gr.findVertex(VertexID.parseID(from.atomValue())), toState = gr.findVertex(VertexID.parseID(to.atomValue()));
if (fromState == null)
if (!checkStates)
{
String state = from.atomValue();if (state.isEmpty()) throw new IllegalArgumentException("empty source state");
fromState = AbstractLearnerGraph.generateNewCmpVertex(VertexID.parseID( state), gr.config );