/**
  * @param \Exception $exception
  *
  * @return array
  */
 protected function buildError(\Exception $exception)
 {
     $result = ['code' => $exception->getCode(), 'message' => $exception->getMessage(), 'previous' => null, 'data' => null];
     if ($exception->getPrevious() !== null) {
         $result['previous'] = $this->buildError($exception->getPrevious());
     }
     if ($exception instanceof ExceptionInterface) {
         $result['data'] = $exception->getMetaData();
     }
     return $result;
 }