/// <summary>
        /// Gets a new instance of a ParameterBinderController using a NativeCommandParameterBinder
        /// </summary>
        /// 
        /// <param name="command">
        /// The native command to be run.
        /// </param>
        /// 
        /// <returns>
        /// A new parameter binder controller for the specified command.
        /// </returns>
        /// 
        internal ParameterBinderController NewParameterBinderController(InternalCommand command)
        {
            Dbg.Assert(_isPreparedCalled, "parameter binder should not be created before prepared is called");

            if (_isMiniShell)
            {
                _nativeParameterBinderController =
                    new MinishellParameterBinderController(
                        this.nativeCommand);
            }
            else
            {
                _nativeParameterBinderController =
                    new NativeCommandParameterBinderController(
                        this.nativeCommand);
            }

            return _nativeParameterBinderController;
        }
 internal ParameterBinderController NewParameterBinderController(InternalCommand command)
 {
     if (this.isMiniShell)
     {
         this.nativeParameterBinderController = new MinishellParameterBinderController(this.nativeCommand);
     }
     else
     {
         this.nativeParameterBinderController = new NativeCommandParameterBinderController(this.nativeCommand);
     }
     return this.nativeParameterBinderController;
 }