docs: private List<String> getKeysList(final String key, final Map<String, String> keysRefMap) {
          final List<String> list = new ArrayList<>();
          // Iterate the map to look for multi-level keys
          for (Entry<String, String> entry : keysRefMap.entrySet()) {
              // Multi-level key found
              if (entry.getValue().equals(key)) {
                  // add key into the list
                  final String entryKey = entry.getKey();
                  list.add(entryKey);
                  // still have multi-level keys
                  if (keysRefMap.containsValue(entryKey)) {
                      // rescuive point
                      final List<String> tempList = getKeysList(entryKey, keysRefMap);
                      list.addAll(tempList);
                  }
              }
          }
          return list;
      }