/**
  * Helper for usort, compares labels alphabetically
  * Compares translations of labels if a translator is set
  * @param NavigationNode $item1
  * @param NavigationNode $item2
  * @return int
  */
 public static function compareLabel(NavigationNode $item1, NavigationNode $item2)
 {
     $navigation = $item1->lookup('Navigation', TRUE);
     $translator = $navigation->getTranslator();
     if ($translator instanceof ITranslator) {
         $label1 = $translator->translate($item1->label);
         $label2 = $translator->translate($item2->label);
     } else {
         $label1 = $item1->label;
         $label2 = $item2->label;
     }
     $sortable = array(String::lower((string) $label1), String::lower((string) $label2));
     if ($sortable[0] == $sortable[1]) {
         return 0;
     }
     $sorted = $sortable;
     sort($sorted);
     return $sorted[0] == $sortable[0] ? -1 : 1;
 }