code: public static <K, V> Map<K, V> mergeMap(final Map<K, V> localValue, final Map<K, V> defaultValue) {
          return Optional.ofNullable(localValue).map(v -> Optional.ofNullable(defaultValue).map(w -> {
              final Map<K, V> map = new LinkedHashMap<>(w);
              map.putAll(v);
              return map;
          }).orElse(localValue)).orElse(defaultValue);
      }
docs: Merges a (nullable) map on the local config object with a (nullable) map in the default config object
  by adding all the fields from the default map to a new map, and then adding the local fields on top
  
  @param localValue   local field value
  @param defaultValue default field value
  @param <K>          the map key type
  @param <V>          the map value type
  @return the merged field value