processTemplate = function( templateType, providedType, defaultTemplate, filterType, tooltipType ) {
            if ( !colDef[templateType] ) {
              col[providedType] = defaultTemplate;
            } else {
              col[providedType] = colDef[templateType];
            }

            var templatePromise = gridUtil.getTemplate(col[providedType])
              .then(
                function (template) {
                  if ( angular.isFunction(template) ) { template = template(); }
                  var tooltipCall = ( tooltipType === 'cellTooltip' )
                      ? 'col.cellTooltip(row,col)'
                      : 'col.headerTooltip(col)';
                  if ( tooltipType && col[tooltipType] === false ) {
                    template = template.replace(uiGridConstants.TOOLTIP, '');
                  } else if ( tooltipType && col[tooltipType] ) {
                    template = template.replace(uiGridConstants.TOOLTIP, 'title="{{' + tooltipCall + ' CUSTOM_FILTERS }}"');
                  }

                  if ( filterType ) {
                    template = template.replace(uiGridConstants.CUSTOM_FILTERS, function() {
                      return col[filterType] ? "|" + col[filterType] : "";
                    });
                  }
                  return gridUtil.postProcessTemplate(template).then(function(template) {
                    col[templateType] = template;
                  });
                },
                function () {
                  throw new Error("Couldn't fetch/use colDef." + templateType + " '" + colDef[templateType] + "'");
                }).catch(angular.noop);

            templateGetPromises.push(templatePromise);

            return templatePromise;
          }
@ngdoc function
@name defaultColumnBuilder
@methodOf ui.grid.service:gridClassFactory
@description Processes designTime column definitions and applies them to col for the
             core grid features
@param {object} colDef reference to column definition
@param {GridColumn} col reference to gridCol
@param {object} gridOptions reference to grid options