code: protected String domainFieldName(SyntheticField[] domainFields) {
          StringBuilder sb = new StringBuilder();
          if (domainFields.length > 0) {
              sb.append(domainFields[domainFields.length - 1].getName());
              if (domainFields.length > 1) {
                  sb.append(" (with path ");
                  for (int i = 0; i < domainFields.length - 2; i++) {
                      sb.append(domainFields[i].getName());
                      sb.append(".");
                  }
                  sb.append(domainFields[domainFields.length - 2].getName());
                  sb.append(")");
              }
          }
          return sb.toString();
      }
docs: Get the domain fields is a readable way (with path indication).
  
  @param domainFields fields to convert
  @return readable domain fields