docs: function (model) {
              this._super(arguments);
              var ctiKey = this.__ctiKey = model.__ctiKey;
              this.__ctiTables = model.__ctiTables.slice();
              this.__ctiModels = model.__ctiModels.slice();
              this.__ctiModels.push(this);
              this.__ctiTables.push(this.tableName);
              this.__ctiColumns = comb.merge({}, model.__ctiColumns);
              this.__ctiColumns[this.tableName] = this.columns;
              this.__ctiBaseModel = model.__ctiBaseModel;
              //copy over our schema
              var newSchema = comb.merge({}, this.__schema);
              var schemas = model.__ctiModels.map(
                  function (m) {
                      return m.schema;
                  }).reverse();
              schemas.forEach(function (s) {
                  for (var i in s) {
                      newSchema[i] = s[i];
                  }
              }, this);
              this._setSchema(newSchema);
              this._setDataset(model.dataset.join(this.tableName, this.primaryKey));
              this._setPrimaryKey(this.__ctiBaseModel.primaryKey);
              this.pre("save", function (next) {
                  if (ctiKey) {
                      this[ctiKey] = this.tableName.toString();
                  }
                  next();
              });
          }