/**
  * {@inheritdoc}
  */
 public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state)
 {
     $config = $this->configFactory->get('payment_reference.payment_type');
     $payment = $this->paymentFactory->createPayment($this->fieldDefinition);
     $element['target_id'] = array('#default_value' => isset($items[$delta]) ? (int) $items[$delta]->target_id : NULL, '#limit_allowed_plugin_ids' => $config->get('limit_allowed_plugins') ? $config->get('allowed_plugin_ids') : NULL, '#plugin_selector_id' => $config->get('plugin_selector_id'), '#prototype_payment' => $payment, '#queue_category_id' => $items->getEntity()->getEntityTypeId() . '.' . $items->getEntity()->bundle() . '.' . $this->fieldDefinition->getName(), '#queue_owner_id' => (int) $this->currentUser->id(), '#required' => $this->fieldDefinition->isRequired(), '#type' => 'payment_reference');
     return $element;
 }