code: private Set<String> preprocessFields(Collection<I_CmsFormField> fields) {
  
          Set<String> displaySet = Sets.newHashSet();
          for (I_CmsFormField field : fields) {
              boolean hasValue = !CmsStringUtil.isEmpty(field.getWidget().getApparentValue());
              if (hasValue || Boolean.TRUE.toString().equals(field.getLayoutData().get(LD_DISPLAY_VALUE))) {
                  String propName = field.getLayoutData().get(LD_PROPERTY);
                  displaySet.add(propName);
              }
          }
          return displaySet;
      }
docs: Preprocesses the fields to find out which fields need to displayed at the top/bottom later.<p>
  
  @param fields the fields
  
  @return the set of property names of the preprocessed fields