@Override
    public MergeableElement mergeWith(MergeableElement other) {
      MatchedValue mergedValue = new MatchedValue(value, pattern, matchingDegree, type);
      if (other instanceof MatchedValue otherMatchedValue) {
        if (otherMatchedValue.type == MatchedValueType.SEMANTIC) {
          mergedValue.similarityScore = otherMatchedValue.similarityScore;
        }
      }
      return mergedValue;
    }
@Override
    public MergeableElement mergeWith(MergeableElement other)