code: private Collection<Path> pathsInBetweenOf(final Path pParent, final Path pChild) {
          final Deque<Path> hierarchy = new LinkedList<>();
          Path p = pChild.getParent();
          while (!p.equals(pParent)) {
              hierarchy.addFirst(p);
              p = p.getParent();
          }
          return hierarchy;
      }
docs: Collects the paths between the parent and the child path specified. The returned collection will <em>not</em>
  contain the parent and child path specified, and, will be ordered from the base path to the farthest child.
  
  @param pParent The parent path, must not be {@code null}
  @param pChild  The child path, must not be {@code null}
  @return Collection of paths in between excluding the parent and child specified