private void __AddNodeToQueue__( Queue< CommandNode > q,
				CommandNode node ) throws CreateCMDTreeErrorException
		{
			try
			{
				if ( !q.offer( node ) )
				{
					RTTestLog.logToConsole( "Add node to queue Failed.",
							LogCollector.ERROR );
					CreateCMDTreeErrorException exception = new CreateCMDTreeErrorException(
							"节点插入失败。\n" );
					throw exception;
				}
				else
				{
					// 成功将节点插入队列中判断当前节点类型
					if ( node.NodeStyle == IFNODE )
					{
						// node.Switch = true;
						IfStack.push( node );
						SwitchStack.push( SWITCHIFSTACK );
					}
					if ( node.NodeStyle == WHILENODE )
					{
						// node.Switch = true;
						WhileStack.push( node );
						SwitchStack.push( SWITCHWHILESTACK );
					}
				}
			}
			catch ( ClassCastException e )
			{
				e.printStackTrace();
				RTTestLog.logToConsole( "Unsupported node type.",
						LogCollector.ERROR );
				CreateCMDTreeErrorException exception = new CreateCMDTreeErrorException(
						"强制类型转换错误。\n" );
				throw exception;
			}
			catch ( NullPointerException e )
			{
				e.printStackTrace();
				RTTestLog.logToConsole( "Unsupported null node.",
						LogCollector.ERROR );
				CreateCMDTreeErrorException exception = new CreateCMDTreeErrorException(
						"空指针错误。\n" );
				throw exception;
			}
			catch ( IllegalArgumentException e )
			{
				e.printStackTrace();
				RTTestLog.logToConsole( "Unsupported argument.",
						LogCollector.ERROR );
				CreateCMDTreeErrorException exception = new CreateCMDTreeErrorException(
						"参数违法\n" );
				throw exception;
			}

		}