protected function getReflectionPropertiesData(array $refProps, ReflectionClass $ref, $label = null)
    {
        // We are dumping public properties direct into the main-level, without
        // any "abstraction level", because they can be accessed directly.
        /** @var Model $model */
        $model = $this->pool->createClass('Brainworxx\\Krexx\\Analyse\\Model')
            ->addParameter(static::PARAM_DATA, $refProps)
            ->addParameter(static::PARAM_REF, $ref)
            ->injectCallback(
                $this->pool->createClass('Brainworxx\\Krexx\\Analyse\\Callback\\Iterate\\ThroughProperties')
            );

        if (isset($label)) {
            // Protected or private properties.
            return $this->pool->render->renderExpandableChild(
                $this->dispatchEventWithModel(
                    static::EVENT_MARKER_ANALYSES_END,
                    $model->setName($label)
                        ->setType(static::TYPE_INTERNALS)
                )
            );
        }

        // Public properties.
        // We render them directly in the object "root", so we call
        // the render directly.
        return $this->dispatchEventWithModel(
            static::EVENT_MARKER_ANALYSES_END,
            $model
        )->renderMe();
    }