code: void put(ChronoElement<?> element, Object v) {
  
          if (v == null) {
              this.remove(element);
              return;
          } else if (element.getType() == Integer.class) {
              this.put(element, Integer.class.cast(v).intValue());
              return;
          }
  
          int pos;
          Object current;
          Object[] keys = this.keys;
  
          if (keys == null) {
              Map<ChronoElement<?>, Object> m = this.map;
              if (m == null) {
                  m = new HashMap<>();
                  this.map = m;
              }
              if (this.duplicateKeysAllowed || !m.containsKey(element) || v.equals(m.get(element))) {
                  m.put(element, v);
                  return;
              } else {
                  throw new AmbivalentValueException(element);
              }
          }
  
          if (this.values == null) {
              this.values = new Object[this.len];
          }
  
          if (!((current = keys[pos = (mix(element.hashCode()) & this.mask)]) == null)) {
              if (current.equals(element)) {
                  if (this.duplicateKeysAllowed || v.equals(this.values[pos])) {
                      this.values[pos] = v;
                      return;
                  } else {
                      throw new AmbivalentValueException(element);
                  }
              }
              while (!((current = keys[pos = (pos + 1) & this.mask]) == null)) {
                  if (current.equals(element)) {
                      if (this.duplicateKeysAllowed || v.equals(this.values[pos])) {
                          this.values[pos] = v;
                          return;
                      } else {
                          throw new AmbivalentValueException(element);
                      }
                  }
              }
          }
  
          keys[pos] = element;
          this.values[pos] = v;
  
          if (this.count++ >= this.threshold) {
              this.rehash(arraySize(this.count));
          }
  
      }
docs: called by format processors