/**
  * Generate a set of breadcrumb items that found by the current type and the provided subtypes.
  *
  * @access public
  *
  * @param array $subtypes The subtypes to generate items for.
  * @return array $items The items, generated by this locator.
  */
 public function generate_items_for_subtypes($subtypes)
 {
     $all_items = array();
     foreach ($subtypes as $subtype) {
         $locator = Carbon_Breadcrumb_Locator::factory($this->get_type(), $subtype);
         if ($locator->is_included()) {
             $items = $locator->get_items();
             $all_items = array_merge($all_items, $items);
         }
     }
     return $all_items;
 }
 /**
  * Generate the items of a certain locator.
  *
  * @access protected
  *
  * @param string $locator_name Name of the locator.
  * @return array $items Items generated by this locator.
  */
 protected function generate_locator_items($locator_name)
 {
     $locator = Carbon_Breadcrumb_Locator::factory($locator_name);
     $items = $locator->generate_items();
     if ($items) {
         return $items;
     }
     return array();
 }