Checks to see if another path is contained in this one. This is useful for 2 cases. The first
is checking if the other is lower down in the tree, below this path. The other is if
a path is actually contained above the current one.
[a] . contains([a.b.c]) returns true
[a.b.c] . contains([a]) returns true
This behavior is used for cases like scanning json in an event based fashion, when we arrive at
a node in a complex type, we will know the complete path back to the root. This method can
be used to determine if we need the data below. This is true in both the cases where the
column requested from the user is below the current node (in which case, we may ignore other nodes
further down the tree, while keeping others). This is also the case if the requested path is further
up the tree, if we know we are at position a.b.c and a.b was a requested column, we need to scan
all of the data at and below the current a.b.c node.
otherSeg - Path segment to check if it is contained below this one