docs: protected Query buildPrefetchQuery(Collection ids)
      {
          CollectionDescriptor cds = getCollectionDescriptor();
          String[] indFkCols = getFksToThisClass();
          String[] indItemFkCols = getFksToItemClass();
          FieldDescriptor[] itemPkFields = getItemClassDescriptor().getPkFields();
  
          Criteria crit = buildPrefetchCriteria(ids, indFkCols, indItemFkCols, itemPkFields);
  
          // BRJ: do not use distinct:
          //
          // ORA-22901 cannot compare nested table or VARRAY or LOB attributes of an object type
          // Cause: Comparison of nested table or VARRAY or LOB attributes of an
          // object type was attempted in the absence of a MAP or ORDER method.
          // Action: Define a MAP or ORDER method for the object type.
          //
          // Without the distinct the resultset may contain duplicate rows
  
          return new QueryByMtoNCriteria(cds.getItemClass(), cds.getIndirectionTable(), crit, false);
      }