code: function(node, offset) {
  			var maxNum = 0;
  			var options = {
  				tabstop: function(data) {
  					var group = parseInt(data.group, 10);
  					if (group > maxNum) maxNum = group;
  						
  					if (data.placeholder)
  						return '${' + (group + offset) + ':' + data.placeholder + '}';
  					else
  						return '${' + (group + offset) + '}';
  				}
  			};
  			
  			['start', 'end', 'content'].forEach(function(p) {
  				node[p] = this.processText(node[p], options);
  			}, this);
  			
  			return maxNum;
  		}
docs: Upgrades tabstops in output node in order to prevent naming conflicts
  @param {AbbreviationNode} node
  @param {Number} offset Tab index offset
  @returns {Number} Maximum tabstop index in element