public function render($eol = "\n", $padding = '    ', $methodFilter = null)
    {
        $lines = [];
        $lines[] = '<?php';
        $lines[] = '';
        $lines[] = '// Generated on ' . date('c');
        foreach ($this->aliasNamespaces as $namespace) {
            $lines[] = '';
            $lines[] = rtrim("namespace {$namespace}");
            $lines[] = '{';
            $addNewline = false;
            if ($namespace === '') {
                $lines[] = "{$padding}die('Access Denied.');";
                $addNewline = true;
            }
            foreach ($this->classes as $class) {
                if ($class->getAliasNamespace() === $namespace) {
                    $rendered_class = $class->render($eol, $padding, $methodFilter);
                    if ($rendered_class !== '') {
                        if ($addNewline === true) {
                            $lines[] = '';
                        } else {
                            $addNewline = true;
                        }
                        $lines[] = $padding . str_replace($eol, $eol . $padding, rtrim($rendered_class));
                    }
                }
            }
            $lines[] = '}';
        }
        $lines[] = '';

        return implode($eol, $lines);
    }