docs: private Criteria buildPrefetchCriteriaMultipleKeys(Collection ids, String[] fkCols, String[] itemFkCols,
              FieldDescriptor[] itemPkFields)
      {
          Criteria crit = new Criteria();
          Criteria critValue = new Criteria();
          Iterator iter = ids.iterator();
  
          for (int i = 0; i < itemPkFields.length; i++)
          {
              crit.addEqualToField(itemPkFields[i].getAttributeName(), itemFkCols[i]);
          }
          
          while (iter.hasNext())
          {
              Criteria c = new Criteria();
              Identity id = (Identity) iter.next();
              Object[] val = id.getPrimaryKeyValues();
  
              for (int i = 0; i < val.length; i++)
              {
  
                  if (val[i] == null)
                  {
                      c.addIsNull(fkCols[i]);
                  }
                  else
                  {
                      c.addEqualTo(fkCols[i], val[i]);
                  }
  
              }
            
              critValue.addOrCriteria(c);
          }
  
          crit.addAndCriteria(critValue);
          return crit;
      }