# File lib/asciidoctor/parser.rb, line 2072
  def self.process_attribute_entry(reader, parent, attributes = nil, match = nil)
    match ||= (reader.has_more_lines? ? AttributeEntryRx.match(reader.peek_line) : nil)
    if match
      name = match[1]
      unless (value = match[2] || '').empty?
        if value.end_with?(line_continuation = LINE_CONTINUATION) ||
            value.end_with?(line_continuation = LINE_CONTINUATION_LEGACY)
          value = value.chop.rstrip
          while reader.advance
            break if (next_line = reader.peek_line.strip).empty?
            if (keep_open = next_line.end_with? line_continuation)
              next_line = next_line.chop.rstrip
            end
            separator = (value.end_with? LINE_BREAK) ? EOL : ' '
            value = %(#{value}#{separator}#{next_line})
            break unless keep_open
          end
        end
      end

      store_attribute(name, value, (parent ? parent.document : nil), attributes)
      true
    else
      false
    end
  end