Creates a form element for a field.
If the entity associated with the form is new (i.e., $entity->isNew() is TRUE), the 'default value', if any, is pre-populated. Also allows other modules to alter the form element by implementing their own hooks.
Drupal\Core\Entity\EntityInterface $entity: The entity for which the widget is being built.
string $langcode: The language associated with the field.
array $items: An array of the field values. When creating a new entity this may be NULL or an empty array to use default values.
array $form: An array representing the form that the editing element will be attached to.
array $form_state: An array containing the current state of the form.
int $get_delta: Used to get only a specific delta value of a multiple value field.
array The form element array created for this field.
public function form(EntityInterface $entity, $langcode, array $items, array &$form, array &$form_state, $get_delta = NULL);