/**
  * handle message
  * @param  [type] $request [description]
  * @return [type]          [description]
  */
 public function handleMessage(Request $request) : Response
 {
     $response = null;
     if ($this->getHandleLevel() == $request->getRequestLevel()) {
         $response = $this->handle($request);
     } else {
         if ($this->nextHandler) {
             $response = $this->nextHandler->handle($request);
         } else {
             echo "there is no avaliable handler to hand this request\n";
         }
     }
     return $response;
 }