# File lib/gpgme.rb, line 790
    def self.new(arg = nil, copy = false)
      if arg.nil?
        return empty
      elsif arg.respond_to? :to_str
        return from_str(arg.to_str, copy)
      elsif arg.respond_to? :to_io
        return from_io(arg.to_io)
      elsif arg.respond_to? :open
        return from_io(arg.open)
      end
    end