/**
  * Short description of method getRange
  *
  * @access public
  * @author Jerome Bogaerts, <*****@*****.**>
  * @param  Resource resource
  * @return \core_kernel_classes_Class
  */
 public function getRange(\core_kernel_classes_Resource $resource)
 {
     $returnValue = null;
     $rangeProperty = new \core_kernel_classes_Property(RDFS_RANGE, __METHOD__);
     $rangeValues = array();
     $delegate = $this->getImpToDelegateTo($resource);
     if ($delegate instanceof Property) {
         // Use the smooth sql implementation to get this information
         // Or find the right way to treat this case
         $rangeValues = \core_kernel_persistence_smoothsql_Resource::singleton()->getPropertyValues($resource, $rangeProperty);
     } else {
         $rangeValues = $delegate->getPropertyValues($resource, $rangeProperty);
     }
     if (sizeOf($rangeValues) > 0) {
         $returnValue = new \core_kernel_classes_Class($rangeValues[0]);
     }
     return $returnValue;
 }