/**
  * Return the array (list) of properties that the individual entries of
  * this datatype consist of.
  *
  * @since 1.6
  *
  * @param $diProperty mixed null or SMWDIProperty object for which to retrieve the types
  *
  * @return array of SMWDIProperty
  */
 public static function findPropertyDataItems($diProperty)
 {
     if (!is_null($diProperty)) {
         $propertyDiWikiPage = $diProperty->getDiWikiPage();
         if (!is_null($propertyDiWikiPage)) {
             $listDiProperty = new SMWDIProperty('_LIST');
             $dataItems = \SMW\StoreFactory::getStore()->getPropertyValues($propertyDiWikiPage, $listDiProperty);
             if (count($dataItems) == 1) {
                 $propertyListValue = new SMWPropertyListValue('__pls');
                 $propertyListValue->setDataItem(reset($dataItems));
                 if ($propertyListValue->isValid()) {
                     return $propertyListValue->getPropertyDataItems();
                 }
             }
         }
     }
     return array();
 }
 private function findPropertyDataItems(DIProperty $property = null)
 {
     if ($property === null) {
         return array();
     }
     $propertyDiWikiPage = $property->getDiWikiPage();
     if ($propertyDiWikiPage === null) {
         return array();
     }
     $listDiProperty = new DIProperty('_LIST');
     $dataItems = ApplicationFactory::getInstance()->getStore()->getPropertyValues($propertyDiWikiPage, $listDiProperty);
     if (count($dataItems) == 1) {
         $propertyListValue = new PropertyListValue('__pls');
         $propertyListValue->setDataItem(reset($dataItems));
         if ($propertyListValue->isValid()) {
             return $propertyListValue->getPropertyDataItems();
         }
     }
     return array();
 }