public function merge(PluginConfiguration $newPluginConfiguration)
    {
        $newPluginConfiguration = clone $newPluginConfiguration;
        $fields = $newPluginConfiguration->getFields();

        foreach ($fields as $fieldName => $field) {
            if ($this->hasField($fieldName)) {
                $newPluginConfiguration
                    ->setFieldValue(
                        $fieldName,
                        $this->getFieldValue($fieldName)
                    );
            }
        }

        $this->setConfiguration($newPluginConfiguration->getConfiguration());

        return $this;
    }