code: @SuppressWarnings("rawtypes")
      public org.grails.datastore.mapping.query.api.ProjectionList distinct(Collection propertyNames, String alias) {
          ProjectionList list = Projections.projectionList();
          for (Object o : propertyNames) {
              list.add(Projections.property(calculatePropertyName(o.toString())));
          }
          final Projection proj = Projections.distinct(list);
          addProjectionToList(proj, alias);
          return this;
      }
docs: A distinct projection that takes a list
  
  @param propertyNames The list of distince property names
  @param alias The alias to use