protected virtual UnaryBinaryKeywordMessageSequenceNode ParseUnaryBinaryKeywordMessageSequence(IMessageSequenceParentNode parent, IdentifierToken selector) { // PARSE: // <unary message>+ <binary message>* [<keyword message>] UnaryBinaryKeywordMessageSequenceNode result = new UnaryBinaryKeywordMessageSequenceNode(parent); // NB: ParseUnaryMessage() cannot fail, so we don't check result UnaryMessageNode message = this.ParseUnaryMessage(result, selector); Token token = this.GetNextTokenxx(Preference.Default); MessageSequenceNode nextMessage = this.ParseMessages(result, token, MessageType.All); result.SetContents(message, nextMessage); return(result); }