code: protected function createNode()
      {
          if (null === $this->prototype) {
              $node = new DynamicArrayNode($this->name, $this->parent);
  
              $this->validateConcreteNode($node);
  
              $node->setAddIfNotSet($this->addDefaults);
  
              foreach ($this->children as $child) {
                  $child->parent = $node;
                  $node->addChild($child->getNode());
              }
          } else {
              throw new InvalidConfigurationException('Prototypes are not allowed for dymamicArray.');
          }
  
          $node->setAllowNewKeys($this->allowNewKeys);
          $node->addEquivalentValue(null, $this->nullEquivalent);
          $node->addEquivalentValue(true, $this->trueEquivalent);
          $node->addEquivalentValue(false, $this->falseEquivalent);
          $node->setPerformDeepMerging($this->performDeepMerging);
          $node->setRequired($this->required);
          $node->setIgnoreExtraKeys($this->ignoreExtraKeys, $this->removeExtraKeys);
          $node->setNormalizeKeys($this->normalizeKeys);
  
          if (null !== $this->normalization) {
              $node->setNormalizationClosures($this->normalization->before);
              $node->setXmlRemappings($this->normalization->remappings);
          }
  
          if (null !== $this->merge) {
              $node->setAllowOverwrite($this->merge->allowOverwrite);
              $node->setAllowFalse($this->merge->allowFalse);
          }
  
          if (null !== $this->validation) {
              $node->setFinalValidationClosures($this->validation->rules);
          }
  
          return $node;
      }
docs: {@inheritdoc}