@Override
      public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        PatternRecognitionContext that = (PatternRecognitionContext) o;

        if (!labels.equals(that.labels)) return false;
        return navigation.equals(that.navigation);
      }
@return the common supertype between the value type and subquery type
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java