# File lib/albino/multi.rb, line 72
    def colorize(options = {})
      options[:timeout] ||= self.class.timeout_threshold
      options[:input]     = @spec.inject([]) do |memo, (lexer, code)|
        memo << lexer << SEPARATOR

        if code.respond_to?(:read)
          out = code.read
          code.close
          code = out
        end

        memo << code << SEPARATOR
      end.join("")

      child  = Child.new(self.class.bin, options)
      pieces = child.out.split(SEPARATOR).each do |code|
        # markdown requires block elements on their own line
        code.sub!(%r{</pre></div>\Z}, "</pre>\n</div>")

        # albino::multi assumes utf8 encoding
        code.force_encoding('UTF-8') if code.respond_to?(:force_encoding)
      end
      @multi ? pieces : pieces.first
    end