protected function mergeResourceArrays(...$arrays) : ?array
    {
        $merged = [];

        foreach ($arrays as $array) {
            if (!is_array($array)) {
                continue;
            }

            /** @var ResourceSettings $resource */
            foreach ($array as $resource) {
                $this->mergeWithOrder($resource, $merged);
            }
        }

        return !empty($merged) ? $merged : null;
    }