private InKvsPartitionMapService(DynamicPartitionMapImpl partitionMap, KeyValueService storage) {
   this.storage = storage;
   storage.createTable(PARTITION_MAP_TABLE, 1234);
   if (partitionMap != null) {
     updateMap(partitionMap);
   }
 }
  /**
   * Only instances of {@code DynamicPartitionMapImpl} are supported by this implementation.
   *
   * @param partitionMap Must be instance of {@code DynamicPartitionMapImpl}.
   */
  @Override
  public synchronized void updateMap(DynamicPartitionMap partitionMap) {
    if (!(partitionMap instanceof DynamicPartitionMapImpl)) {
      throw new IllegalArgumentException(
          "Only instances of DynamicPartitionMapImpl are supported!");
    }

    DynamicPartitionMapImpl dpmi = (DynamicPartitionMapImpl) partitionMap;
    storage.createTable(PARTITION_MAP_TABLE, 1234);
    storage.truncateTable(PARTITION_MAP_TABLE);
    storage.put(PARTITION_MAP_TABLE, dpmi.toTable(), 0L);
  }