def _describe_application(self, application, **options):
        described_namespace = options.get('namespace')
        description = ApplicationDescription(application, described_namespace)

        self._write('%s\n%s' % (application.get_name(), '=' * len(application.get_name())))

        for namespace in description.get_namespaces().values():
            if namespace['id'] != ApplicationDescription.GLOBAL_NAMESPACE:
                self._write('\n\n')
                self._write('**%s:**' % namespace['id'])

            self._write('\n\n')
            self._write('\n'.join(list(map(lambda x: '* %s' % x, namespace['commands']))))

        for command in description.get_commands().values():
            self._write('\n\n')
            self._describe_command(command)
return a pair `(subchain, subchainResolution)`
dataset/ETHPy150Open sdispater/cleo/cleo/descriptors/markdown_descriptor.py/MarkdownDescriptor._describe_application--crossover with--dataset/ETHPy150Open ufora/ufora/packages/python/pyfora/PyObjectWalker.py/PyObjectWalker._lookupChainInClass