/**
  * @see EPSInterface::trackPickingEx()
  */
 public function trackPickingEx($sessionId, $billOfLading, $language)
 {
     try {
         $trackPickingExStdObject = new stdClass();
         $trackPickingExStdObject->sessionId = $sessionId;
         $trackPickingExStdObject->billOfLading = $billOfLading;
         $trackPickingExStdObject->language = $language;
         $response = parent::trackPickingEx($trackPickingExStdObject);
         $arrResultTrackPickingEx = array();
         if (isset($response->return)) {
             $arrStdResultTrackPickingEx = $response->return;
             if (is_array($arrStdResultTrackPickingEx)) {
                 for ($i = 0; $i < count($arrStdResultTrackPickingEx); $i++) {
                     $arrResultTrackPickingEx[$i] = new ResultTrackPickingEx($arrStdResultTrackPickingEx[$i]);
                 }
             } else {
                 $arrResultTrackPickingEx[0] = new ResultTrackPickingEx($arrStdResultTrackPickingEx);
             }
         }
         return $arrResultTrackPickingEx;
     } catch (SoapFault $sf) {
         throw new ServerException($sf);
     }
 }