whole_func_string: function trimWhitespaceTokens(tokens, mask) {
  		mask = mask || (WHITESPACE_REMOVE_FROM_START | WHITESPACE_REMOVE_FROM_END);
  		var whitespace = ['white', 'line'];
  		
  		if ((mask & WHITESPACE_REMOVE_FROM_END) == WHITESPACE_REMOVE_FROM_END)
  			while (tokens.length && _.include(whitespace, _.last(tokens).type)) {
  				tokens.pop();
  	 		}
  		
  		if ((mask & WHITESPACE_REMOVE_FROM_START) == WHITESPACE_REMOVE_FROM_START)
  			while (tokens.length && _.include(whitespace, tokens[0].type)) {
  				tokens.shift();
  			}
  		
  		return tokens;
  	}
func_code_string: function trimWhitespaceTokens(tokens, mask) {
  		mask = mask || (WHITESPACE_REMOVE_FROM_START | WHITESPACE_REMOVE_FROM_END);
  		var whitespace = ['white', 'line'];
  		
  		if ((mask & WHITESPACE_REMOVE_FROM_END) == WHITESPACE_REMOVE_FROM_END)
  			while (tokens.length && _.include(whitespace, _.last(tokens).type)) {
  				tokens.pop();
  	 		}
  		
  		if ((mask & WHITESPACE_REMOVE_FROM_START) == WHITESPACE_REMOVE_FROM_START)
  			while (tokens.length && _.include(whitespace, tokens[0].type)) {
  				tokens.shift();
  			}
  		
  		return tokens;
  	}
func_documentation_string: Removes whitespace tokens from the array ends
  @param {Array} tokens
  @param {Number} mask Mask indicating from which end whitespace should be
  removed
  @returns {Array}