public function setMethod()
	{
		//check if method metadata is null
		if(is_null($this->methodMetaData)){

			//if there was no method metaData check if there are names url param keys  in the controller name
			$requestParamKeys = ArrayHelper::parts($this->urlParameterSeparator, $this->controller)->clean()->trim()->get();

			//check if there are parameter found
			if(count($requestParamKeys) > 1){

				//set the new value of the controller
				$this->controller = $requestParamKeys[0];

				//set a value for the methodMetaData
				$this->methodMetaDataArray = $requestParamKeys;

			}

			//there is no method frm the routes, get the route from the UrlParser instance
			$this->method = $this->UrlParserObjectInstance->getMethod();

			return $this;

		}

		//there is method metadata
		else{

			//get the methodMetaDataArray
			$methodMetaDataArray = ArrayHelper::parts($this->urlParameterSeparator, $this->methodMetaData)->clean()->trim()->get();
			
			//put this in a try...catch block to enhance error handlign
			try{

				if(count($methodMetaDataArray) > 0){
				 	
				 	//set the value of the method property
					$this->method = $methodMetaDataArray[0];
					
					//check if the value of method from url parse is not null
					if($this->UrlParserObjectInstance->getMethod() !== null){

						//if the method name can be got from the methodMetaData, then lets prepend the value of method to the urlParser parameters
						$this->UrlParserObjectInstance->setParameters($this->UrlParserObjectInstance->getMethod(), false);

					}

					//set the methodMetaDataArray property
					$this->methodMetaDataArray = $methodMetaDataArray;
					
					//returnt this class instance
					return $this;

				}

				//there was not method data found after parsing metaData, this is wrong, throw an error
				else{

					//throw an exception
					throw new RouteException(get_class(new RouteException) ." : The method name specified after this named route " . $this->routeName . " => " . $this->controller . "@" . $this->methodMetaData . " is invalid format", 1);
					
				}

			}

			catch(RouteException $RouteExceptionObjectInstance){

				//display the error message
				$RouteExceptionObjectInstance->errorShow();

			}

		}

	}