code: DataResource navigate(String resourcePath, boolean returnNullIfNotExists) {
  
      ResourcePathNode<Void> path = ResourcePathNode.create(resourcePath);
      ClasspathFolder parent = getParent();
      if (parent == null) {
        // in case of root...
        parent = this;
      }
      DataResource result = parent.navigate(path, false);
      if ((result == null) && !returnNullIfNotExists) {
        String parentPath = "";
        if (!isRoot()) {
          parentPath = parent.getPath();
        }
        ResourcePathNode<Void> targetPath = ResourcePathNode.create(parentPath).navigateTo(path);
        String classpath = targetPath.toString();
        if (targetPath.isAbsolute()) {
          classpath = classpath.substring(1);
        }
        return new ClasspathResource(classpath);
      }
      return result;
    }
docs: @see #navigate(ResourcePathNode)
  
  @param resourcePath the path to navigate to.
  @param returnNullIfNotExists - if {@code true} then {@code null} is returned for non-existent resources,
  otherwise a {@link ClasspathResource} is created and returned.
  @return the requested {@link DataResource}.