code: private void deleteFromTableKToV(int entry, int keyHash) {
      checkArgument(entry != ABSENT);
      int keyBucket = bucket(keyHash);
  
      if (hashTableKToV[keyBucket] == entry) {
        hashTableKToV[keyBucket] = nextInBucketKToV[entry];
        nextInBucketKToV[entry] = ABSENT;
        return;
      }
  
      int prevInBucket = hashTableKToV[keyBucket];
      for (int entryInBucket = nextInBucketKToV[prevInBucket];
          entryInBucket != ABSENT;
          entryInBucket = nextInBucketKToV[entryInBucket]) {
        if (entryInBucket == entry) {
          nextInBucketKToV[prevInBucket] = nextInBucketKToV[entry];
          nextInBucketKToV[entry] = ABSENT;
          return;
        }
        prevInBucket = entryInBucket;
      }
      throw new AssertionError("Expected to find entry with key " + keys[entry]);
    }
docs: Updates the K-to-V hash table to remove the entry at the specified index, which is assumed to
  be present. Does not update any other data structures.