code: public int addValue(Object value) {
          JdkUtils.requireNonNull(value);
          if(!MvtValue.isValidPropValue(value)) {
              return -1;
          }
  
          int nextIndex = vals.size();
          final Integer mapIndex = JdkUtils.putIfAbsent(vals, value, nextIndex);
          return mapIndex == null ? nextIndex : mapIndex;
      }
docs: Add the value and return it's index code. If the value already is present, the previous
  index code is returned and no insertion is done. If {@code value} is an unsupported type
  for encoding in a MVT, then it will not be added.
  
  @param value value to add
  @return index of the value, -1 on unsupported value types
  @see MvtValue#isValidPropValue(Object)