get (DataMapper::Collection)

    # File lib/dm-core/collection.rb, line 110
        def get(*key)
          key = model.key(repository.name).typecast(key)

          resource = @identity_map[key] || if !loaded? && (query.limit || query.offset > 0)
            # current query is exclusive, find resource within the set

            # TODO: use a subquery to retrieve the Collection and then match
            #   it up against the key.  This will require some changes to
            #   how subqueries are generated, since the key may be a
            #   composite key.  In the case of DO adapters, it means subselects
            #   like the form "(a, b) IN(SELECT a, b FROM ...)", which will
            #   require making it so the Query condition key can be a
            #   Property or an Array of Property objects

            # use the brute force approach until subquery lookups work
            lazy_load
            @identity_map[key]
          else
            # current query is all inclusive, lookup using normal approach
            first(model.key_conditions(repository, key))
          end

          return if resource.nil?

          orphan_resource(resource)
        end