code: public boolean shouldSelectProperty(String property) {
          // no restriction
          if (getRoot().eagerLoad || restrictedProperties == null) {
              return true;
          }
          // explicit restriction
          if (getRoot().eagerLoad || restrictedProperties.contains(property)) {
              return true;
          }
          return false;
      }
docs: should we select the given property?
  
  @param property the property name
  @return true if the property should be part of the select clause, false otherwise