protected function loadProperties()
 {
     $termTemplate = new TermIndexEntry(array('termType' => 'label', 'termLanguage' => $this->languageCode, 'entityType' => Property::ENTITY_TYPE));
     $terms = $this->termIndex->getMatchingTerms(array($termTemplate), 'label', Property::ENTITY_TYPE, array('caseSensitive' => true, 'prefixSearch' => false, 'LIMIT' => false));
     $propertiesByLabel = array();
     foreach ($terms as $term) {
         $label = $term->getText();
         $propertiesByLabel[$label] = $term->getEntityId();
     }
     return $propertiesByLabel;
 }
 private function termExists(TermIndex $termIndex, $text, $termType = null, $language = null, $entityType = null)
 {
     $termFields = array();
     $termFields['termText'] = $text;
     if ($language !== null) {
         $termFields['termLanguage'] = $language;
     }
     $matches = $termIndex->getMatchingTerms(array(new TermIndexEntry($termFields)), $termType, $entityType);
     return !empty($matches);
 }