# File lib/mechanize/page.rb, line 112
  def parser
    return @parser if @parser
    return nil unless @body

    if @encoding then
      @parser = @mech.html_parser.parse html_body, nil, @encoding
    elsif mech.force_default_encoding then
      @parser = @mech.html_parser.parse html_body, nil, @mech.default_encoding
    else
      @encodings.reverse_each do |encoding|
        @parser = @mech.html_parser.parse html_body, nil, encoding

        break unless encoding_error? @parser
      end
    end

    @parser
  end