code: function(tableItemOrString){
                  var generatedDef;
                  /** @type {TableItem} */
                  var tableItem;
                  if(typeof tableItemOrString==='string'){
                      tableItem = {name: tableItemOrString};
                  }else{
                      tableItem = tableItemOrString;
                  }
                  if(tableItem.mixin){
                      generatedDef = be.tableMixin(tableItem.mixin[0],tableItem.mixin[1],{
                          name:tableItem.name,
                          title:tableItem.title
                      });
                  }else if(tableItem.tableGenerator){
                      generatedDef = tableItem.tableGenerator;
                  }else{
                      tableItem = changing({name: tableItem.name, fileName: tableItem.name}, tableItem);
                      tableItem = changing({source: (tableItem.path||be.rootPath+'/server')+'/table-'+tableItem.fileName+'.js'}, tableItem);
                      if(!tableItem.source){
                          throw new Error('Need source for tableItem.name:'+tableItem.name);
                      }else{
                          generatedDef = require(tableItem.source);
                          if(!(generatedDef instanceof Function)){
                              generatedDef=generatedDef[tableItem.name];
                              var contextForDump=be.getContextForDump();
                              var tableDef = generatedDef(contextForDump);
                              if(!tableDef.adapted){
                                  generatedDef = function(generatedDef){
                                      /** @param {bp.Context} context  */
                                      return function (context){
                                          return be.tableDefAdapt(generatedDef(context), context);
                                      }
                                  }(generatedDef);
                              }
                          }
                      }
                  }
                  be.tableStructures[tableItem.name] = generatedDef;
              }
docs: TODO: quitar, no debería hacer falta poner esto acá 
  @param {TableItem|string} tableItemOrString