API page: https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Plugin%21...

> Plugin forms are embedded in other forms. In order to know where the plugin form is located in the parent form, #parents and #array_parents must be known, but these are not available during the initial build phase. In order to have these properties available when building the plugin form's elements, let this method return a form element that has a #process callback and build the rest of the form in the callback. By the time the callback is executed, the element's #parents and #array_parents properties will have been set by the form API. For more documentation on #parents and #array_parents, see \Drupal\Core\Render\Element\FormElement.

This looks obsolete to me. At least, I've had a look at some of the implementations of this in core and they build their form the normal way.

Also, saying that you can't use FormAPI the way it's meant to be used but instead have to abuse the #process callback to build it is... peculiar.

Comments

joachim created an issue.