code: public static <T extends Node> AbstractMerger<T> getMerger(Class<T> clazz) {
  
      AbstractMerger<T> merger = null;
  
      Class<?> type = clazz;
  
      while (merger == null && type != null) {
        merger = map.get(type);
        type = type.getSuperclass();
      }
  
      return merger;
    }
docs: first check if mapper of the type T exist, if existed return it
  else check if mapper of the supper type exist, then return it
  
  @param <T>   the generic type which extends from Node
  @param clazz The class of type T
  @return null if not found else the merger of the type T