def fetch( fetch_spec, editing_context = nil )
if AggregateSpec === fetch_spec then
return fetch_with_aggregate_spec(fetch_spec)
end
editing_context ||= self
objects = @parent_object_store.fetch(fetch_spec, editing_context)
if fetch_spec.qualifier then
objects = Qualifier.filter(objects, fetch_spec.qualifier)
end
sorts = fetch_spec.sort_orderings
unless sorts.empty? then
objects = SortOrdering.sort(objects, sorts)
end
limit = fetch_spec.limit || 0
if (limit > 0) and (objects.size > limit) then
objects.slice!(limit, objects.size)
end
objects
end