# File lib/dm-core/collection.rb, line 177
    def all(query = nil)
      if query.nil? || (query.kind_of?(Hash) && query.empty?)
        dup
      else
        # TODO: if there is no order parameter, and the Collection is not loaded
        # check to see if the query can be satisfied by the head/tail

        new_collection(scoped_query(query))
      end
    end