@Override
  public void deleteAttributes(final @NotNull PersistentFSConnection connection,
                               final int fileId) throws IOException {
    lock.writeLock().lock();
    try {
      int attPage = fileAttributeRecordId(connection, fileId);
      if (attPage != NON_EXISTENT_ATTRIBUTE_RECORD_ID) {
        try (final DataInputStream attStream = attributesBlobStorage.readStream(attPage)) {
          if (bulkAttrReadSupport) skipRecordHeader(attStream, PersistentFSConnection.RESERVED_ATTR_ID, fileId);

          while (attStream.available() > 0) {
            DataInputOutputUtil.readINT(attStream);// Attribute ID;
            int attAddressOrSize = DataInputOutputUtil.readINT(attStream);

            if (inlineAttributes) {
              if (attAddressOrSize < INLINE_ATTRIBUTE_SMALLER_THAN) {
                attStream.skipBytes(attAddressOrSize);
                continue;
              }
              attAddressOrSize -= INLINE_ATTRIBUTE_SMALLER_THAN;
            }
            //RC: must always be true, but there are reports ...
            if (attAddressOrSize > NON_EXISTENT_ATTRIBUTE_RECORD_ID) {
              attributesBlobStorage.deleteRecord(attAddressOrSize);
            }
          }
        }
        attributesBlobStorage.deleteRecord(attPage);
      }
    }
    finally {
      lock.writeLock().unlock();
    }
  }
@Override
  public void deleteAttributes(final @NotNull PersistentFSConnection connection,
                               final int fileId)