final protected function getCompositeRenderers($class_name = null)
    {
        $this->confirmCompositeRenderers();

        if (
            !(
                $class_name === null ||
                class_exists($class_name) ||
                interface_exists($class_name)
            )
        ) {
            return array();
        }

        $out = array();

        foreach ($this->composite_renderers as $key => $renderer) {
            if ($class_name === null || $renderer instanceof $class_name) {
                $out[$key] = $renderer;
            }
        }

        return $out;
    }