# File lib/asciidoctor/abstract_node.rb, line 468
  def read_asset(path, opts = {})
    # remap opts for backwards compatibility
    opts = { :warn_on_failure => (opts != false) } unless ::Hash === opts
    if ::File.readable? path
      if opts[:normalize]
        Helpers.normalize_lines_from_string(::IO.read(path)) * EOL
      else
        # QUESTION should we chomp or rstrip content?
        ::IO.read(path)
      end
    else
      warn %(asciidoctor: WARNING: file does not exist or cannot be read: #{path}) if opts[:warn_on_failure]
      nil
    end
  end