public static <K, V> V computeIfAbsent(Map<K, V> map, K key,
      Function<? super K, ? extends V> mappingFunction) {
    V existingValue = map.get(key);
    if (existingValue == null) {
      return map.computeIfAbsent(key, mappingFunction);
    }
    return existingValue;
  }
This is a workaround for computeIfAbsent which unnecessarily takes out a write lock in the case
where the entry for the key exists already. This only affects pre Java 9 jdks
https://bugs.openjdk.java.net/browse/JDK-8161372

@see Map#computeIfAbsent(Object, Function)
geode-common/src/main/java/org/apache/geode/internal/lang/utils/JavaWorkarounds.java