/**
  * {@inheritdoc}
  */
 public function viewElements(FieldItemListInterface $items, $langcode)
 {
     $elements = array();
     foreach ($items as $delta => $item) {
         $elements[$delta] = array('#markup' => $item->value, '#allowed_tags' => FieldFilteredMarkup::allowedTags());
     }
     return $elements;
 }
 /**
  * {@inheritdoc}
  */
 public function viewElements(FieldItemListInterface $items, $langcode)
 {
     $elements = array();
     // Only collect allowed options if there are actually items to display.
     if ($items->count()) {
         $provider = $items->getFieldDefinition()->getFieldStorageDefinition()->getOptionsProvider('value', $items->getEntity());
         // Flatten the possible options, to support opt groups.
         $options = OptGroup::flattenOptions($provider->getPossibleOptions());
         foreach ($items as $delta => $item) {
             $value = $item->value;
             // If the stored value is in the current set of allowed values, display
             // the associated label, otherwise just display the raw value.
             $output = isset($options[$value]) ? $options[$value] : $value;
             $elements[$delta] = array('#markup' => $output, '#allowed_tags' => FieldFilteredMarkup::allowedTags());
         }
     }
     return $elements;
 }