code: function validateTableDefinition(tableDefinition) {
      // Do basic table name validation and leave the rest to the store
      Validate.notNull(tableDefinition, 'tableDefinition');
      Validate.isObject(tableDefinition, 'tableDefinition');
  
      Validate.isString(tableDefinition.name, 'tableDefinition.name');
      Validate.notNullOrEmpty(tableDefinition.name, 'tableDefinition.name');
  
      // Validate the specified column types and check for duplicate columns
      var columnDefinitions = tableDefinition.columnDefinitions,
          definedColumns = {};
      
      Validate.isObject(columnDefinitions);
      Validate.notNull(columnDefinitions);
  
      for (var columnName in columnDefinitions) {
  
          Validate.isString(columnDefinitions[columnName], 'columnType');
          Validate.notNullOrEmpty(columnDefinitions[columnName], 'columnType');
  
          if (definedColumns[columnName.toLowerCase()]) {
              throw new Error('Duplicate definition for column ' + columnName + '" in table "' + tableDefinition.name + '"');
          }
  
          definedColumns[columnName.toLowerCase()] = true;
      }
  }
docs: Validates the table definition
  @private