/**
  * Ask data service to load stream provider instance.
  * 
  * @return void
  * 
  * @throws ODataException
  */
 private function _loadStreamProvider()
 {
     if (is_null($this->_streamProvider)) {
         $maxServiceVersion = $this->_service->getConfiguration()->getMaxDataServiceVersion();
         if ($maxServiceVersion->compare(new Version(3, 0)) >= 0) {
             $this->_streamProvider = $this->_service->getService('IStreamProvider2');
             if (!is_null($this->_streamProvider) && (!is_object($this->_streamProvider) || !$this->_streamProvider instanceof IStreamProvider2)) {
                 throw ODataException::createInternalServerError(Messages::streamProviderWrapperInvalidStream2Instance());
             }
         }
         if (is_null($this->_streamProvider)) {
             $this->_streamProvider = $this->_service->getService('IStreamProvider');
             if (!is_null($this->_streamProvider) && (!is_object($this->_streamProvider) || !$this->_streamProvider instanceof IStreamProvider)) {
                 throw ODataException::createInternalServerError(Messages::streamProviderWrapperInvalidStreamInstance());
             }
         }
     }
 }