/**
  * 
  * @see library/ODataProducer/ODataProducer.IServiceProvider::getService()
  * 
  * @return object
  */
 public function getService($serviceType)
 {
     if ($serviceType === 'IDataServiceMetadataProvider') {
         if (is_null($this->_northWindMetadata)) {
             $this->_northWindMetadata = CreateNorthWindMetadata::Create();
         }
         return $this->_northWindMetadata;
     } else {
         if ($serviceType === 'IDataServiceQueryProvider') {
             if (is_null($this->_northWindQueryProvider)) {
                 $this->_northWindQueryProvider = new NorthWindQueryProvider();
             }
             return $this->_northWindQueryProvider;
         } else {
             if ($serviceType === 'IDataServiceStreamProvider') {
                 return new NorthWindStreamProvider();
             }
         }
     }
     return null;
 }