/// <summary>
        /// Executes the Service Object method and returns any data.
        /// </summary>
        /// <param name="inputs">A Property[] array containing all the allowed input properties.</param>
        /// <param name="required">A RequiredProperties collection containing the required properties.</param>
        /// <param name="returns">A Property[] array containing all the allowed return properties.</param>
        /// <param name="methodType">A MethoType indicating what type of Service Object method was called.</param>
        /// <param name="serviceObject">A ServiceObject containing populated properties for use with the method call.</param>
        public void Execute(Property[] inputs, RequiredProperties required, Property[] returns, MethodType methodType, ServiceObject serviceObject)
        {
            this.GetConfiguration();

            if (serviceObject.Methods[0].Name.Equals("spsearch") || serviceObject.Methods[0].Name.Equals("spsearchraw") || serviceObject.Methods[0].Name.Equals("deserializesearchresults"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchread") || serviceObject.Methods[0].Name.Equals("spsearchrawread"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("listsourceidsstatic"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteListSourceIds(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("listothersourceidsstatic"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteListOtherSourceIds(inputs, required, returns, methodType, serviceObject);
            }


            if (serviceObject.Methods[0].Name.Equals("spsearchusers") || serviceObject.Methods[0].Name.Equals("deserializeusersearchresults"))
            {
                SPSearchUser spsearchuser = new SPSearchUser(serviceBroker, this.Configuration);
                spsearchuser.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchusersread"))
            {
                SPSearchUser spsearchuser = new SPSearchUser(serviceBroker, this.Configuration);
                spsearchuser.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }


            if (serviceObject.Methods[0].Name.Equals("spsearchdocuments") || serviceObject.Methods[0].Name.Equals("deserializedocumentsearchresults"))
            {
                SPSearchDocument spsearchdocumet = new SPSearchDocument(serviceBroker, this.Configuration);
                spsearchdocumet.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchdocumentsread"))
            {
                SPSearchDocument spsearchdocumet = new SPSearchDocument(serviceBroker, this.Configuration);
                spsearchdocumet.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }
        }
        /// <summary>
        /// Executes the Service Object method and returns any data.
        /// </summary>
        /// <param name="inputs">A Property[] array containing all the allowed input properties.</param>
        /// <param name="required">A RequiredProperties collection containing the required properties.</param>
        /// <param name="returns">A Property[] array containing all the allowed return properties.</param>
        /// <param name="methodType">A MethoType indicating what type of Service Object method was called.</param>
        /// <param name="serviceObject">A ServiceObject containing populated properties for use with the method call.</param>
        public void Execute(Property[] inputs, RequiredProperties required, Property[] returns, MethodType methodType, ServiceObject serviceObject)
        {
            this.GetConfiguration();

            if (serviceObject.Methods[0].Name.Equals("spsearch") || serviceObject.Methods[0].Name.Equals("spsearchraw") || serviceObject.Methods[0].Name.Equals("deserializesearchresults"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchread") || serviceObject.Methods[0].Name.Equals("spsearchrawread"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("listsourceidsstatic"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteListSourceIds(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("listothersourceidsstatic"))
            {
                SPSearch spsearch = new SPSearch(serviceBroker, this.Configuration);
                spsearch.ExecuteListOtherSourceIds(inputs, required, returns, methodType, serviceObject);
            }


            if (serviceObject.Methods[0].Name.Equals("spsearchusers") || serviceObject.Methods[0].Name.Equals("deserializeusersearchresults"))
            {
                SPSearchUser spsearchuser = new SPSearchUser(serviceBroker, this.Configuration);
                spsearchuser.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchusersread"))
            {
                SPSearchUser spsearchuser = new SPSearchUser(serviceBroker, this.Configuration);
                spsearchuser.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }


            if (serviceObject.Methods[0].Name.Equals("spsearchdocuments") || serviceObject.Methods[0].Name.Equals("deserializedocumentsearchresults"))
            {
                SPSearchDocument spsearchdocumet = new SPSearchDocument(serviceBroker, this.Configuration);
                spsearchdocumet.ExecuteSearch(inputs, required, returns, methodType, serviceObject);
            }

            if (serviceObject.Methods[0].Name.Equals("spsearchdocumentsread"))
            {
                SPSearchDocument spsearchdocumet = new SPSearchDocument(serviceBroker, this.Configuration);
                spsearchdocumet.ExecuteSearchRead(inputs, required, returns, methodType, serviceObject);
            }
        }