@Override
    public BaseVersion convert(JsonParser parser, Supplier<String> contentString) {
      String version = null;
      String distribution = null;
      try {
        if (enterPath(parser, "version") != null) {
          while (parser.nextToken() != null) {
            if (parser.currentToken() == JsonToken.VALUE_STRING) {
              if (parser.currentName() == "distribution") {
                distribution = parser.getText();
              } else if (parser.currentName() == "number") {
                version = parser.getText();
              }
            }
          }
        }
      } catch (RuntimeException | IOException possiblyParseException) {
        // EmptyCatch ignored
      }

      if (version == null) {
        throw new IllegalArgumentException(
          ".version.number not found in response: " + contentString.get());
      }

      Matcher matcher = REGEX.matcher(version);
      if (!matcher.matches()) {
        throw new IllegalArgumentException("Invalid .version.number: " + version);
      }

      try {
        int major = Integer.parseInt(matcher.group(1));
        int minor = Integer.parseInt(matcher.group(2));
        if ("opensearch".equalsIgnoreCase(distribution)) {
          return new OpensearchVersion(major, minor);
        } else {
          return new ElasticsearchVersion(major, minor);
        }
      } catch (NumberFormatException e) {
        throw new IllegalArgumentException("Invalid .version.number: " + version
          + ", for .version.distribution:" + distribution);
      }
    }
Does this version of Elasticsearch / OpenSearch still support mapping types?
@return "true" if mapping types are supported, "false" otherwise
zipkin-storage/elasticsearch/src/main/java/zipkin2/elasticsearch/BaseVersion.java