code: private void findAdditionalPossiblePaths(Map<String, List<String>> pathNodes,
                                               List<String> paths,
                                               String base,
                                               String baseType,
                                               int maxDepth,
                                               String logPrefix) {
          if (maxDepth == 0) {
              return;
          }
  
          LOG.debug("Possible:{} > {}:{}", logPrefix, baseType, base);
  
          if (pathNodes.containsKey(baseType)) {
              List<String> childPaths = pathNodes.get(baseType);
              if (childPaths != null) {
                  for (String childPath : childPaths) {
                      final int colonPos = childPath.indexOf(':');
                      final String childType = childPath.substring(0, colonPos);
                      final String childName = childPath.substring(colonPos + 1);
  
                      String childBase;
                      if (base.isEmpty()) {
                          childBase = childName;
                      } else {
                          if (childName.isEmpty()) {
                              childBase = base;
                          } else {
                              childBase = base + '.' + childName;
                          }
                      }
  
                      String newPath = childType + ':' + childBase;
                      if (!paths.contains(newPath)) {
                          LOG.debug("Possible:{} + {}:{}", logPrefix, childType, childBase);
                          paths.add(childType + ':' + childBase);
  
                          findAdditionalPossiblePaths(pathNodes, paths, childBase, childType, maxDepth - 1, logPrefix + "--");
                      }
                  }
              }
          }
          LOG.debug("Possible:{} < {}:{}", logPrefix, baseType, base);
      }
docs: Add all child paths in respect to the base (which is already present in the result set)