docs: private String getPropertyPath(Expression reference, String alias) {
          if (reference instanceof Property) {
              Property property = (Property)reference;
              if (alias.equals(property.getScope())) {
                  return property.getPath();
              }
              else if (property.getSource() != null) {
                  String subPath = getPropertyPath(property.getSource(), alias);
                  if (subPath != null) {
                      return String.format("%s.%s", subPath, property.getPath());
                  }
              }
          }
  
          return null;
      }