code: @Override
      public ChronicleMapBuilder<K, V> averageKeySize(double averageKeySize) {
          checkSizeIsStaticallyKnown(keyBuilder, "Key");
          checkAverageSize(averageKeySize, "key");
          this.averageKeySize = averageKeySize;
          averageKey = null;
          sampleKey = null;
          return this;
      }
docs: {@inheritDoc}
  <p>
  <p>Example: if keys in your map(s) are English words in {@link String} form, average English
  word length is 5.1, configure average key size of 6: <pre>{@code
  ChronicleMap<String, LongValue> wordFrequencies = ChronicleMapBuilder
  .of(String.class, LongValue.class)
  .entries(50000)
  .averageKeySize(6)
  .create();}</pre>
  (Note that 6 is chosen as average key size in bytes despite strings in Java are UTF-16
  encoded (and each character takes 2 bytes on-heap), because default off-heap {@link String}
  encoding is UTF-8 in {@code ChronicleMap}.)
  
  @param averageKeySize the average size of the key
  @throws IllegalStateException    {@inheritDoc}
  @throws IllegalArgumentException {@inheritDoc}
  @see #averageKey(Object)
  @see #constantKeySizeBySample(Object)
  @see #averageValueSize(double)
  @see #actualChunkSize(int)