code: final void freeBlock(long blockId) throws IOException {
          if (blockId == 0) {
              // Can't free block 0.
          }
          else {
              try {
                  mFreeBlocksBitlist.lock().acquireWriteLock();
                  mFreeBlocksBitlist.set(blockId);
                  if (mFirstFreeBlock == 0 || blockId < mFirstFreeBlock) {
                      setFirstFreeBlock(blockId);
                  }
              }
              catch (InterruptedException e) {
                  throw new InterruptedIOException();
              }
              finally {
                  mFreeBlocksBitlist.lock().releaseLock();
              }
          }
      }
docs: Attempting to free block 0 or a block that is already free has no
  effect.