/**
   * {@inheritdoc}
   */
  public function cloneEntity(EntityInterface $field_config, EntityInterface $cloned_field_config, $properties = []) {
    /** @var \Drupal\field\Entity\FieldConfig $field_config */
    /** @var \Drupal\field\Entity\FieldConfig $cloned_field_config */
    /** @var \Drupal\field\Entity\FieldStorageConfig $cloned_field_storage */

    if ((!isset($properties['skip_storage']) || !$properties['skip_storage'])) {
      $cloned_field_storage = $field_config->getFieldStorageDefinition()->createDuplicate();
      $cloned_field_storage->set('field_name', $properties['id']);
      $cloned_field_storage->set('id', $properties['id'] . '.' . $cloned_field_storage->getTargetEntityTypeId());
      $cloned_field_storage->save();
    }
    unset($properties['skip_storage']);

    $properties['field_name'] = $properties['id'];
    $properties['id'] = $cloned_field_config->getTargetEntityTypeId() . '.' . $cloned_field_config->getTargetBundle() . '.' . $properties['id'];
    return parent::cloneEntity($field_config, $cloned_field_config, $properties);
  }
  /**
   * {@inheritdoc}
   */
  public function cloneEntity(EntityInterface $entity, EntityInterface $cloned_entity, $properties = []) {
    $cloned_entity = parent::cloneEntity($entity, $cloned_entity, $properties);
    $bundle_of = $cloned_entity->getEntityType()->getBundleOf();
    if ($bundle_of) {
      $this->cloneFields($entity->id(), $cloned_entity->id(), $bundle_of);
    }

    $view_displays = \Drupal::service('entity_display.repository')->getViewModes($bundle_of);
    $view_displays = array_merge($view_displays, ['default' => 'default']);
    if (!empty($view_displays)) {
      $this->cloneDisplays('view', $entity->id(), $cloned_entity->id(), $view_displays, $bundle_of);
    }

    $view_displays = \Drupal::service('entity_display.repository')->getFormModes($bundle_of);
    $view_displays = array_merge($view_displays, ['default' => 'default']);
    if (!empty($view_displays)) {
      $this->cloneDisplays('form', $entity->id(), $cloned_entity->id(), $view_displays, $bundle_of);
    }

    return $cloned_entity;
  }