code: public void addTable(TableDefinition tableDef) {
          // Ensure this table is unique.
          if (m_tableMap.containsKey(tableDef.getTableName())) {
              throw new IllegalArgumentException("Attempt to add duplicate table: " +
                                                 tableDef.getTableName());
          }
          
          // Looks fine. Transfer to us.
          tableDef.setApplication(this);
          m_tableMap.put(tableDef.getTableName(), tableDef);
      }
docs: Add the given table definition to this application. This method assumes that the
  table definition has been validated and the corresponding database table has been
  (or will be) created. It throws an IllegalArgumentException if the table definition
  currently belongs to an application with a different name or its name is not unique
  within the already-defined tables. If the table definition looks OK, it is
  transferred to this application by adding it to the table map and by setting the
  table's application definition to us.
  
  @param  tableDef {@link TableDefinition} of a new table.