<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build_application(conf):
 """Do some setup and return the wsgi app."""

    if isinstance(conf.adapter_options, list):
        conf['adapter_options'] = {key: val for _dict in conf.adapter_options
                                   for key, val in _dict.items()}
    elif conf.adapter_options is None:
        conf['adapter_options'] = {}
    else:
        conf['adapter_options'] = copy.copy(conf.adapter_options)

    # get wsgi app the same way bottle does if it receives a string.
    conf['app'] = conf.app or bottle.default_app()
    if isinstance(conf.app, six.string_types):
        conf['app'] = bottle.load_app(conf.app)

    def _find_bottle_app(_app):
        """Lookup the underlying Bottle() instance."""
        while hasattr(_app, 'app'):
            if isinstance(_app, bottle.Bottle):
                break
            _app = _app.app
        assert isinstance(_app, bottle.Bottle), 'Could not find Bottle app.'
        return _app

    bottle_app = _find_bottle_app(conf.app)
    bottle_app.route(
        path='/_simpl', method='GET', callback=_version_callback)

    def _show_routes():
        """Conditionally print the app's routes."""
        if conf.app and not conf.quiet:
            if conf.reloader and os.getenv('BOTTLE_CHILD'):
                LOG.info("Running bottle server with reloader.")
            elif not conf.reloader:
                pass
            else:
                return
            routes = fmt_routes(bottle_app)
            if routes:
                    print('\n{}'.format(routes), end='\n\n')
    _show_routes()
    return conf.app