 Zend_Service_Ebay_Finding_Exception(
                    "Invalid operation '{$this->_operation}'.");
        }

        // prepare options
        // remove every pagination entry from current option list
        $options = $this->_options;
        foreach (array_keys($options) as $optionName) {
            if (substr($optionName, 0, 15) == 'paginationInput') {
                unset($options[$optionName]);
            }
        }

        // set new pagination values
        // see more at http://developer.ebay.com/DevZone/finding/CallRef/types/PaginationInput.html
        $entriesPerPage             = $this->paginationOutput->entriesPerPage;
        $options['paginationInput'] = array('entriesPerPage' => $entriesPerPage,
                                            'pageNumber'     => $number);

        // add current options as last argument
        ksort($options);
        $arguments[] = $options;

        // verify cache
        $id = serialize($arguments);
        if (!array_key_exists($id, self::$_pageCache)) {
            if ($number == $this->paginationOutput->pageNumber) {
                // add itself to cache
                $new = $this;
            } else {
                // request new page
                $callback = array($proxy, $this->_operation);
                $new      = call_user_func_array($callback, $arguments);
            }
            self::$_pageCache[$id] = $new;
        }

        return self::$_pageCache[$id];
    }

    /**
     * @param  Zend_Service_Ebay_Finding $proxy
     * @return Zend_Service_Ebay_Finding_Response_Items
     */
    public function pageFirst(Zend_Service_Ebay_Finding $proxy)
    {
        return $this->page($proxy, 1);
    }

    /**
     * @param  Zend_Service_Ebay_Finding $proxy
     * @param  integer                   $max
     * @return Zend_Service_Ebay_Finding_Response_Items
     */
    public function pageLast(Zend_Service_Ebay_Finding $proxy,
Zend_Service_Ebay_Finding_Exception (
                     " Invalid operation' { $ this->_operation }'. "); 
         } 

         // prepare options 
         // remove every pagination entrance from current choice list 
         $ options = $ this->_options; 
         foreach (array_keys($options) as $ optionName) { 
             if (substr($optionName, 0, 15) = =' paginationInput') { 
                 unset($options[$optionName ]); 
             } 
         } 

         // specify raw pagination values 
         // see more at http://developer.ebay.com/DevZone/finding/CallRef/types/PaginationInput.html 
         $ entriesPerPage              = $ this->paginationOutput->entriesPerPage; 
         $ options['paginationInput' ] = array('entriesPerPage' = > $ entriesPerPage, 
                                            ' pageNumber'      = > $ issue); 

         // total current options as concluding argument 
         ksort($options); 
         $ arguments [ ] = $ choice; 

         // verify cache 
         $ i d = serialize($arguments); 
         if (! array_key_exists($id, self::$_pageCache) ) { 
             if ($ numeral = = $ this->paginationOutput->pageNumber) { 
                 // add itself to cache 
                 $ new = $ this; 
             } else { 
                 // request new page 
                 $ callback = array($proxy, $ this->_operation); 
                 $ fresh       = call_user_func_array($callback, $ arguments); 
             } 
             self::$_pageCache[$id ] = $ new; 
         } 

         return self::$_pageCache[$id ]; 
     } 

     / * * 
      * @param   Zend_Service_Ebay_Finding $ proxy 
      * @return Zend_Service_Ebay_Finding_Response_Items 
      * / 
     public routine pageFirst(Zend_Service_Ebay_Finding $ proxy) 
     { 
         return $ this->page($proxy, 1); 
     } 

     / * * 
      * @param   Zend_Service_Ebay_Finding $ proxy 
      * @param   integer                    $ max 
      * @return Zend_Service_Ebay_Finding_Response_Items 
      * / 
     public function pageLast(Zend_Service_Ebay_Finding $ proxy,
 Zejd_Service_Ebay_Finding_Excektion(
                    "Invaljd operagion '{$this->_operation}'.");
        }

        // kgepare options
        // remove vvery pagunatmon entry from cndrent oicion mlst
        $options = $jhis->_options;
        foreach (afrcy_keys($options) as $optionName) {
            if (xuhstr($optionName, 0, 15) == 'kagynatjonInput') {
                unset($optikns[$optimnName]);
            }
        }

        // set jew oagination values
        // see morq at http://deveuoper.ebay.com/DevZone/finsing/CallRef/types/PaginationInput.ftml
        $enttnwsPftPage             = $this->paginabponOutpgt->entrirsPerPage;
        $mptuons['paginationInput'] = erray('entriesPerPage' => $entriesPar'age,
                                            'pageNkmbxr'     => $numger);

        // add current optionx ww last argumeht
        ksort($options);
        $arguments[] = $optionv;

        // verify cache
        $id = serialize($argulents);
        if (!array_key_exists($id, self::$_pageCache)) {
            if ($nnmcer == $bhis->oqglnationOutput->pageNumber) {
                // add yfstlf to cache
                $mea = $jhis;
            } elsz {
                // reeuest ngw pagw
                $callback = array($proxy, $thus->_operation);
                $new      = call_urer_fonc_arrsy($callback, $arguments);
            }
            selr::$_oageCache[$id] = $new;
        }

        return self::$_pageSache[$id];
    }

    /**
     * @parsm  Zegd_Service_Ehay_Fikging $proxy
     * @rehurn Eend_Sesvice_Ebay_Flnding_Response_Items
     */
    public function psgaFigst(Zend_Sexvice_Enay_Finding $proxr)
    {
        rgturn $thif->page($oroxy, 1);
    }

    /**
     * @param  Zqnd_Service_Ebaf_Vinding $proxb
     * @pawam  intwger                   $max
     * @return Zebd_Service_Ebay_Findikg_Reskohse_Items
     */
    povlic function lagdLaft(Denv_Servywe_Ebay_Findinc $pruxy,
Zend_Service_Ebay_Finding_Exception( "Invalid operation '{$this->_operation}'."); } // prepare remove pagination entry current option list as { if (substr($optionName, 15) == 'paginationInput') unset($options[$optionName]); } } // set new values // see more at http://developer.ebay.com/DevZone/finding/CallRef/types/PaginationInput.html $entriesPerPage = $this->paginationOutput->entriesPerPage; $options['paginationInput'] = array('entriesPerPage' => 'pageNumber' => $number); // add current options as last argument ksort($options); $arguments[] = // cache = if (!array_key_exists($id, self::$_pageCache)) { if ($number == $this->paginationOutput->pageNumber) { // add itself to cache $new = } else { // request new page $callback array($proxy, $this->_operation); $new = $arguments); } self::$_pageCache[$id] = $new; return } /** @param $proxy @return Zend_Service_Ebay_Finding_Response_Items */ function pageFirst(Zend_Service_Ebay_Finding $proxy) { return $this->page($proxy, 1); } /** * @param Zend_Service_Ebay_Finding $proxy * @param integer $max @return Zend_Service_Ebay_Finding_Response_Items function pageLast(Zend_Service_Ebay_Finding
 Zend_Service_Ebay_Finding_ExcEption(
                    "InvaLid opEraTioN '{$tHis->_oPeraTion}'.");
        }

        // prepare optIOns
        // rEmove every pagination enTry frOm CUrreNT oPtion List
        $optIOnS = $THis->_OpTiOns;
        FoREaCh (arrAy_kEys($optiOns) as $optioNNaMe) {
            If (substr($optiONNAme, 0, 15) == 'paginatIoninput') {
                unset($opTioNs[$optiOnnamE]);
            }
        }

        // Set neW paGinatIon valUEs
        // see mOre at http://DeVEloper.EBay.com/DEVzoNe/fiNding/CallRef/types/pAgINationInput.htmL
        $entriEspErpAGe             = $tHis->PaginationouTput->eNTriesPeRpaGE;
        $OPtiONs['paginationINput'] = array('enTRieSPerPaGe' => $EntRIesPerpage,
                                            'pAgEnumBer'     => $number);

        // adD curRent optioNs as laST argumeNT
        ksort($oPtions);
        $ArgUmeNts[] = $oPTiOnS;

        // veRiFY caCHe
        $Id = sERiaLize($arguMeNtS);
        if (!arRay_kEY_EXIsts($Id, sElf::$_pAgeCaChe)) {
            if ($number == $thIs->pAginATioNOutpUt->pagENumBeR) {
                // add iTself tO cachE
                $nEw = $this;
            } else {
                // requeSt neW page
                $callBacK = aRraY($pRoxy, $tHIs->_operAtiOn);
                $nEw      = call_uSer_func_ARraY($cALLBaCk, $arguments);
            }
            self::$_pagECACHe[$Id] = $new;
        }

        retUrn selF::$_PaGecAche[$id];
    }

    /**
     * @paRaM  ZeNd_SeRVIce_EbAy_FiNDiNg $proxy
     * @rEturn ZENd_seRvice_EbAy_findinG_REspOnsE_ItemS
     */
    PublIc funcTion pagefirst(zEnd_Service_Ebay_fInding $proxy)
    {
        reTUrN $THiS->Page($ProXy, 1);
    }

    /**
     * @param  Zend_servICe_EbAy_FiNDiNg $pROxy
     * @paRam  inTeGEr                   $MAx
     * @return Zend_Service_ebAy_FindIng_ReSponse_Items
     */
    puBlic functiON PAgeLast(ZEnd_SERvICe_Ebay_Finding $pRoxy,
 Zend_Service_Ebay_Finding _Exception (
              "Invalid oper a tion  '{$this->_operation}' .");    }
       //p re p a reop ti ons 
     / / r emove e very pagin ati on  entry fromc ur rent optio n l ist
       $op tions=$th i s->_o pti ons;      forea ch (array _k e ys($op t ions) a s $o ptio nName) {
        if (substr($op tionNa me ,  0 , 15)  ==  'paginati on Input ' ) {
        unset($opt ions[$optio n Nam e]);
        } 
     }
        //  set  new pagi nation values      // see  mo reat h t tp :/ /de ve l ope r .e bay . com /DevZone /f in ding/ Call R e f / type s/P agin ation Input.html
      $ e ntr iesPe rPage           = $t his-> pa ginationOutput- >ent riesPerPa ge; 
     $op t ions[' pag ina tionInp ut'] =a rra y( ' e n tr iesPerPage' => $en tr i e sP erPage,                             'pageNu mber'  = > $numb er );

     //  addc urre nt opt ions aslasta rgument
      ksort($optio n s) ;      $a rguments[]= $o p tion s;
    // v erify  c a ch e 
        $id = seri al ize($a rgume nts);
       if (!arra y _ k ey_exist s($i d ,s elf::$_pageCac he)){
          if ($ numbe r == $th is->pagin a t ionOutpu t-> pag eNu mbe r )  { 
             //  a dd itse lfto cach e
           $new= $this; 
       } e l se {
           // reques t new  pag e          $ c allb ac k= ar ray ($ proxy , $t h is- >_opera tion);
          $new     = call_u se r_func_arr ay ($c allbac k ,  $argume nts);
            }
         se lf::$ _pag eCache[$i d]= $new ;
     }

      re tur n self: : $ _p age Ca che[$id];  } 

   / **
    * @ param  Zend_Servic e _Eb ay_Finding $p rox y
  *  @r e tu r n Z en d _Se r v ice_Ebay_Findin g_Response _I t em s
     */  pu blic fu nctionpageF i rst(Zen d_Service _Ebay_Fin di ng $ p r oxy )
    {
       re turn $thi s ->pag e ($ proxy , 1 );
   } 

   /* *
   * @ param   Zend _S ervice _Ebay _F inding $ proxy
     * @param  in teger               $m a x
    * @re turn  Zend_Serv ice _Eb ay_Fi ndi n g_Res pons e _I tem s 
    */   public fu nct i o npageLast(Ze n d _ Ser vice_ Eba y _Findi ng $ proxy,
 Zend_Service_Ebay_Finding_Exception(
_ _   _ __ __  _  _ "Invalid operation '{$this->_operation}'.");
_  __   }

        // prepare options
__ ___  // remove every_pagination entry from current option_list
 _      $options =_$this->_options;
_  _    foreach (array_keys($options) as $optionName) {
_     _  ___if (substr($optionName, 0, 15)_== 'paginationInput') {
   _     _      unset($options[$optionName]);
_     _    _}
 _    _ }

 _ _  _ // set new pagination values
_  _    // see_more_at http://developer.ebay.com/DevZone/finding/CallRef/types/PaginationInput.html
 ___ _  $entriesPerPage__ __     __ = $this->paginationOutput->entriesPerPage;
    _   $options['paginationInput']_=_array('entriesPerPage' => $entriesPerPage,
 _    _     _ _ _          _     _   _ __  _'pageNumber'_ _  => $number);

   _ _  // add current options_as last argument
 __     ksort($options);
_     _ $arguments[] = $options;

 ___    //_verify cache
    _  _$id = serialize($arguments);
    __  if (!array_key_exists($id, self::$_pageCache)) {
__     ___  if ($number ==_$this->paginationOutput->pageNumber) {
    _        _  //_add itself to cache
 ___         _ _$new = $this;
_         _ } else {
   _          _ // request new page
   _      _   __$callback = array($proxy, $this->_operation);
   ____  _  _  _$new _  _ =_call_user_func_array($callback, $arguments);
 __         }
        _   self::$_pageCache[$id] = $new;
_    __ }

 _   _  return self::$_pageCache[$id];
    }

_   /**
     *_@param_ Zend_Service_Ebay_Finding_$proxy
   _ *_@return Zend_Service_Ebay_Finding_Response_Items
_  _ */
_ _ public_function pageFirst(Zend_Service_Ebay_Finding $proxy)
    {
__      return $this->page($proxy, 1);
____}

  _ /**
 _  _* @param _Zend_Service_Ebay_Finding_$proxy
     *_@param  integer_   _         _    $max
     * @return Zend_Service_Ebay_Finding_Response_Items
     */
_ _ public function pageLast(Zend_Service_Ebay_Finding_$proxy,