docs: public void registerWritableType(short writableTypeKey, @NonNull Class<? extends Writable> writableClass) {
          if (map.containsKey(writableTypeKey)) {
              throw new UnsupportedOperationException("Key " + writableTypeKey + " is already registered to type "
                              + map.get(writableTypeKey) + " and cannot be registered to " + writableClass);
          }
  
          Constructor<? extends Writable> c;
          try {
              c = writableClass.getDeclaredConstructor();
          } catch (NoSuchMethodException e) {
              throw new RuntimeException("Cannot find no-arg constructor for class " + writableClass);
          }
  
          map.put(writableTypeKey, writableClass);
          constructorMap.put(writableTypeKey, c);
      }