code: private void fillPropertyMap(Map<String, Set<String>> map, TransformationDescription description) {
          for (TransformationStep step : description.getTransformingSteps()) {
              if (step.getSourceFields() == null) {
                  LOGGER.debug("Step {} is ignored since no source properties are defined");
                  continue;
              }
              String targetField = step.getTargetField();
              if (!map.containsKey(targetField) && isTemporaryProperty(targetField)) {
                  LOGGER.debug("Add new property entry for field {}", targetField);
                  map.put(targetField, new HashSet<String>());
              }
              for (String sourceField : step.getSourceFields()) {
                  if (sourceField == null) {
                      continue;
                  }
                  String[] result = StringUtils.split(sourceField, ".");
                  String mapValue = result[0];            
                  
                  Set<String> targets = map.get(mapValue);
                  if (targets != null) {
                      targets.add(targetField);
                  } else {
                      LOGGER.error("Accessed property with the name {} which isn't existing", mapValue);
                  }
              }
          }
      }
docs: Fills the given map based on the transformation steps given in the transformation description. It analyzes the
  transformation step and adds the target of the transformation step to the set of properties which are influenced
  by the source property.