code: def could_match_children?(path)
        return false if path == '' # Empty string is not a path
  
        argument_is_absolute = !!(path =~ /^#{ChefFS::PathUtils::regexp_path_separator}/)
        return false if is_absolute != argument_is_absolute
        path = path[1,path.length-1] if argument_is_absolute
  
        path_parts = ChefFS::PathUtils::split(path)
        # If the pattern is shorter than the path (or same size), children will be larger than the pattern, and will not match.
        return false if regexp_parts.length <= path_parts.length && !has_double_star
        # If the path doesn't match up to this point, children won't match either.
        return false if path_parts.zip(regexp_parts).any? { |part,regexp| !regexp.nil? && !regexp.match(part) }
        # Otherwise, it's possible we could match: the path matches to this point, and the pattern is longer than the path.
        # TODO There is one edge case where the double star comes after some characters like abc**def--we could check whether the next
        # bit of path starts with abc in that case.
        return true
      end
docs: Reports whether this pattern could match children of <tt>path</tt>.
   If the pattern doesn't match the path up to this point or
   if it matches and doesn't allow further children, this will
   return <tt>false</tt>.
  
   ==== Attributes
  
   * +path+ - a path to check
  
   ==== Examples
  
     abc/def.could_match_children?('abc') == true
     abc.could_match_children?('abc') == false
     abc/def.could_match_children?('x') == false
     a**z.could_match_children?('ab/cd') == true