/**
  * To get all resource types in the data source,
  * Note: Wrapper for IDataServiceMetadataProvider::getTypes method implementation
  * 
  * @return array(ResourceType)
  */
 public function getTypes()
 {
     $resourceTypes = $this->_metadataProvider->getTypes();
     $resourceTypeNames = array();
     foreach ($resourceTypes as $resourceType) {
         if (in_array($resourceType->getName(), $resourceTypeNames)) {
             throw new ODataException(Messages::metadataQueryProviderWrapperEntityTypeNameShouldBeUnique($resourceType->getName()), 500);
         }
         $resourceTypeNames[] = $resourceType->getName();
         $this->_validateResourceType($resourceType);
     }
     return $resourceTypes;
 }