code: public static Map<String, Object> getConfigForBranch(EntityType entityType, String entityName, WorkUnitState workUnitState) {
  
      Map<String, Object> config = getConfigForBranch(workUnitState.getJobState(),
          entityType.getConfigPrefix(),
          ForkOperatorUtils.getPropertyNameForBranch(workUnitState, ""));
  
      if (entityName != null) {
        final String entityPrefix = entityType.getConfigPrefix() + "." + entityName;
  
        Map<String, Object> entitySpecificConfig = getConfigForBranch(workUnitState.getJobState(), entityPrefix,
            ForkOperatorUtils.getPropertyNameForBranch(workUnitState, ""));
  
        if (config == null) {
          config = entitySpecificConfig;
        } else if (entitySpecificConfig != null) {
          // Remove keys that would have been picked up twice - eg converter.FooConverter.encrypt would first
          // be picked up by the converter.* check
          config.keySet().removeIf(s -> s.startsWith(entityName + "."));
          config.putAll(entitySpecificConfig);
        }
      }
  
      return config;
    }
docs: Retrieve encryption configuration for the branch the WorKUnitState represents. This will first retrieve
  config for a given entity type (converter.encrypt.*) and then merge it with any entity-specific config
  (eg converter.FieldEncryptionConverter.*).
  
  @param entityType Type of entity we are retrieving config for
  @param workUnitState State for the object querying config
  @return A list of encryption properties or null if encryption isn't configured