protected function addOrInjectGroupNamePrefix($moduleId)
    {
        $module = $this->data->rawData['modules'][ $moduleId ];
        $prefix = $module['parent_names']['group'];

        // mark so we don't prefix it twice
        $this->modulePrefixedGroup[$moduleId] = true;

        // simple prefix if nothing else was prefixed yet
        if ( ! $this->prefixMenu) {
            $this->data->rawData['modules'][ $moduleId ]['prefixed_name'] =
                $this->addPrefix(
                    array_get($module, 'prefixed_name') ?: $module['name'],
                    $prefix
                );
        }

        // simple prefix won't work, we'll need to rebuild the name, prefixing the section and group first
        // note that the section will always have been prefixed, one way or the other, at this point!
        $this->data->rawData['modules'][ $moduleId ]['prefixed_name'] =
            $this->addPrefix(
                array_get($module, 'prefixed_name') ?: $module['name'],
                $module['parent_names']['section']
            );

        $this->data->rawData['modules'][ $moduleId ]['prefixed_name'] =
            $this->addPrefix(
                array_get($module, 'prefixed_name') ?: $module['name'],
                $module['parent_names']['group']
            );

        if ($this->prefixMenu) {
            $this->data->rawData['modules'][ $moduleId ]['prefixed_name'] =
                $this->addPrefix(
                    array_get($module, 'prefixed_name') ?: $module['name'],
                    $module['parent_names']['menu']
                );
        }
    }