code: public TableDescription describe() {
          DescribeTableResult result = client.describeTable(
                  InternalUtils.applyUserAgent(new DescribeTableRequest(tableName)));
          return tableDescription = result.getTable();
      }
docs: Retrieves the table description from DynamoDB. Involves network calls.
  Meant to be called as infrequently as possible to avoid throttling
  exception from the server side.
  
  @return a non-null table description
  
  @throws ResourceNotFoundException if the table doesn't exist