code: function(abbr, text, syntax, profile, contextNode) {
  			/** @type emmet.filters */
  			var filters = require('filters');
  			/** @type emmet.utils */
  			var utils = require('utils');
  			
  			syntax = syntax || emmet.defaultSyntax();
  			profile = require('profile').get(profile, syntax);
  			
  			require('tabStops').resetTabstopIndex();
  			
  			var data = filters.extractFromAbbreviation(abbr);
  			var parsedTree = require('abbreviationParser').parse(data[0], {
  				syntax: syntax,
  				pastedContent: text,
  				contextNode: contextNode
  			});
  			if (parsedTree) {
  				var filtersList = filters.composeList(syntax, profile, data[1]);
  				filters.apply(parsedTree, filtersList, profile);
  				return utils.replaceVariables(parsedTree.toString());
  			}
  			
  			return null;
  		}
docs: Wraps passed text with abbreviation. Text will be placed inside last
  expanded element
  @memberOf wrapWithAbbreviation
  @param {String} abbr Abbreviation
  @param {String} text Text to wrap
  @param {String} syntax Document type (html, xml, etc.). Default is 'html'
  @param {String} profile Output profile's name. Default is 'plain'
  @param {Object} contextNode Context node inside which abbreviation
  is wrapped. It will be used as a reference for node name resolvers
  @return {String}