public Query.ProjectionList id() {
   if (projectionList != null) {
     projectionList.id();
   }
   return projectionList;
 }
 /**
  * Computes the max value of a property
  *
  * @param name The name of the property
  * @return The PropertyProjection instance
  */
 public ProjectionList max(String name) {
   if (projectionList != null) {
     projectionList.max(name);
   }
   return projectionList;
 }
 /**
  * Computes the average value of a property
  *
  * @param name The name of the property
  * @return The PropertyProjection instance
  */
 public ProjectionList avg(String name) {
   if (projectionList != null) {
     projectionList.avg(name);
   }
   return projectionList;
 }
 /**
  * Computes the sum of a property
  *
  * @param name The name of the property
  * @return The projection list
  */
 public ProjectionList sum(String name) {
   if (projectionList != null) {
     projectionList.sum(name);
   }
   return projectionList;
 }
 /**
  * A projection that obtains the value of a property of an entity
  *
  * @param name The name of the property
  * @return The projection list
  */
 public ProjectionList property(String name) {
   if (projectionList != null) {
     projectionList.property(name);
   }
   return projectionList;
 }
 /**
  * Projection that signifies to return only distinct results
  *
  * @param property The name of the property
  * @return The projection list
  */
 public ProjectionList distinct(String property) {
   if (projectionList != null) {
     projectionList.distinct(property);
   }
   return projectionList;
 }
 /**
  * Projection that signifies to return only distinct results
  *
  * @return The projection list
  */
 public ProjectionList distinct() {
   if (projectionList != null) {
     projectionList.distinct();
   }
   return projectionList;
 }
 /**
  * Count the number of records returned
  *
  * @return The project list
  */
 public Query.ProjectionList count() {
   if (projectionList != null) {
     projectionList.count();
   }
   return projectionList;
 }