public boolean overlapWithFullPathPrefix(PartialPath prefixFullPath) {
    String[] rNodes = prefixFullPath.getNodes();
    int rNodesIndex = 0;
    for (int i = 0; i < this.nodes.length && rNodesIndex < rNodes.length; i++) {
      // if encounter MULTI_LEVEL_PATH_WILDCARD
      if (nodes[i].equals(MULTI_LEVEL_PATH_WILDCARD)) {
        return true;
      } else if (nodes[i].equals(ONE_LEVEL_PATH_WILDCARD)) {
        rNodesIndex++;
      } else if (PathPatternUtil.hasWildcard(nodes[i])) {
        if (!PathPatternUtil.isNodeMatch(nodes[i], rNodes[rNodesIndex])) {
          return false;
        } else {
          rNodesIndex++;
        }
      } else if (nodes[i].equals(rNodes[rNodesIndex])) {
        rNodesIndex++;
      } else {
        return false;
      }
    }
    return true;
  }
Test if this path pattern overlaps with input prefix full path. Overlap means the result sets
generated by two path pattern share some common elements. e.g.

<ul>
  <li>"root.sg.**" overlaps with prefix full path "root" because "root.sg.**" share some common
      element "root.sg.d" with "root.**"
  <li>"root.*.d*.s" overlaps with prefix full path "root.sg" because "root.*.d*.s" share some
      common element "root.sg.d1.s" with "root.sg.**"
  <li>"root.*.d.s" doesn't overlap with prefix full path "root.sg.d1" because there is no
      common element between "root.*.d.s" and "root.sg.d1.**"
</ul>

@param prefixFullPath prefix full path
@return true if overlapping otherwise return false
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/path/PartialPath.java