code: @Override
    public List<HBaseProtos.SnapshotDescription> listSnapshots() throws IOException {
      ListSnapshotsRequest request = ListSnapshotsRequest.newBuilder()
          .setParent(getSnapshotClusterName().toString())
          .build();
  
      ListSnapshotsResponse snapshotList = Futures.getChecked(
          tableAdminClientWrapper.listSnapshotsAsync(request),
          IOException.class
      );
  
      List<HBaseProtos.SnapshotDescription> response = new ArrayList<>();
  
      for (Snapshot snapshot : snapshotList.getSnapshotsList()) {
        BigtableSnapshotName snapshotName = new BigtableSnapshotName(snapshot.getName());
        BigtableTableName tableName = new BigtableTableName(snapshot.getSourceTable().getName());
        response.add(HBaseProtos.SnapshotDescription.newBuilder()
            .setName(snapshotName.getSnapshotId())
            .setTable(tableName.getTableId())
            .setCreationTime(TimeUnit.SECONDS.toMillis(snapshot.getCreateTime().getSeconds()))
            .build());
      }
      return response;
    }
docs: {@inheritDoc}