# File lib/asciidoctor/lexer.rb, line 47
  def self.parse(reader, document, options = {})
    block_attributes = parse_document_header(reader, document)

    unless options[:header_only]
      while reader.has_more_lines?
        new_section, block_attributes = next_section(reader, document, block_attributes)
        document << new_section unless new_section.nil?
      end
    end

    document
  end