    # File lib/metacat.rb, line 113
      def find(args)
        if args[:docid] && args[:squery]
          raise ArgumentError, "Too many parameters. Choose :docid or :squery"
        elsif args[:docid]
          result = read(args[:docid], 'only_eml' => true)
          unless result.nil?
            try_eml(result) || raise(ArgumentError, "#{args[:docid]} does not refer to eml metadata. To read other documents use read.")
          end
        elsif args[:squery]
          results = squery(args[:squery])
          doc = REXML::Document.new(results)
          documents = Array.new()
          doc.elements.each("/resultset/document") { |document|
            docid = document.elements[1].text
            documents.push(try_eml(read(docid, 'only_eml' => true)))
          }
          return documents.delete_if {|doc| doc == false }
        end
      end