public override SequenceDiagramViewModel VisitSignal([NotNull] SignalContext context) { var actorA = GetActor(context.actor(0)); var actorB = GetActor(context.actor(1)); if (actorA == null || actorB == null) { m_errorListener.GrammarError("Signals must occur between two actors. e.g. a->b: pew pew"); return(SequenceDiagram); } var signalType = GetSignalType(context.signalType()); var message = GetMessage(context.message()); SequenceDiagram.AddSignal(actorA, signalType.Item1, signalType.Item2, actorB, message); return(SequenceDiagram); }