code: function transformClassName(name, item, entityType) {
  		var separators = getSeparators();
  		var reSep = new RegExp('^(' + separators[entityType] + ')+', 'g');
  		if (reSep.test(name)) {
  			var depth = 0; // parent lookup depth
  			var cleanName = name.replace(reSep, function(str) {
  				depth = str.length / separators[entityType].length;
  				return '';
  			});
  			
  			// find donor element
  			var donor = item;
  			while (donor.parent && depth--) {
  				donor = donor.parent;
  			}
  			
  			if (!donor || !donor.__bem)
  				donor = item;
  			
  			if (donor && donor.__bem) {
  				var prefix = donor.__bem.block;
  				
  				// decide if we should inherit element name
  //				if (entityType == 'element') {
  //					var curElem = cleanName.split(separators.modifier, 1)[0];
  //					if (donor.__bem.element && donor.__bem.element != curElem)
  //						prefix += separators.element + donor.__bem.element;
  //				}
  				
  				if (entityType == 'modifier' &&  donor.__bem.element)
  					prefix += separators.element + donor.__bem.element;
  				
  				return prefix + separators[entityType] + cleanName;
  			}
  		}
  		
  		return name;
  	}
docs: Low-level function to transform user-typed class name into full BEM class
  @param {String} name Class name item to process
  @param {AbbreviationNode} item Host node for provided class name
  @param {String} entityType Type of entity to be tried to transform
  ('element' or 'modifier')
  @returns {String} Processed class name or original one if it can't be
  transformed