code: public void waitForDelete() throws InterruptedException {
          Waiter waiter = client.waiters().tableNotExists();
          try {
              waiter.run(new WaiterParameters<DescribeTableRequest>(new DescribeTableRequest(tableName))
                      .withPollingStrategy(new PollingStrategy(new MaxAttemptsRetryStrategy(25), new FixedDelayStrategy(5))));
          } catch (Exception exception) {
              throw new IllegalArgumentException("Table " + tableName + " is not deleted.", exception);
          }
      }
docs: A convenient blocking call that can be used, typically during table
  deletion, to wait for the table to become deleted. This method uses
  {@link com.amazonaws.services.dynamodbv2.waiters.AmazonDynamoDBWaiters}
  to poll the status of the table every 5 seconds.