    # File lib/merb-core/dispatch/router/behavior.rb, line 650
          def capture(&block)
            captured_routes = {}
            name_prefix     = [@options[:name_prefix]].flatten.compact.map { |p| "#{p}_"}
            current_names   = Merb::Router.named_routes.keys

            behavior = Behavior.new(@proxy, @conditions, @params, @defaults, @identifiers, @options, @blocks)
            with_behavior_context(behavior, &block)

            Merb::Router.named_routes.reject { |k,v| current_names.include?(k) }.each do |name, route|
              name = route.name.to_s.sub(/^#{name_prefix.join('|')}/, '').to_sym unless name_prefix.empty?
              captured_routes[name] = route
            end

            captured_routes
          end