/// <summary>Visit an unary operator.</summary>
        /// <param name="unaryOperator">Unary operator to be visited.</param>
        protected override void VisitUnaryOperator(UnaryOperator unaryOperator)
        {
            string operatorString;
            switch (unaryOperator.Member)
            {
                case MethodNames.Not:
                    operatorString = "!";
                    break;
                default:
                    throw new NotImplementedException(String.Format("Unary operator '{0}' is not supported.", unaryOperator.Member));
            }

            _commandText.Append(operatorString);
            VisitComponent(unaryOperator.Operand);
        }
 /// <summary>Visit an unary operator.</summary>
 /// <param name="unaryOperator">Unary operator to be visited.</param>
 protected abstract void VisitUnaryOperator(UnaryOperator unaryOperator);