code: function(proposals) {
  			// get rid of extra separators and titles
  			var mappedProposals = proposals.map(function(proposalArray) {
  				var element = proposalArray.filter(function(proposal, index) {
  					var keepElement = true;
  					if (STYLES[proposal.style] === STYLES.hr) {
  						if ((0 === index) || ((proposalArray.length - 1) === index)) {
  							keepElement = false; // remove separators at first or last element
  						} else if (STYLES.hr === STYLES[proposalArray[index - 1].style]) {
  							keepElement = false; // remove separator preceeded by another separator
  						}
  					} else if (STYLES[proposal.style] === STYLES.noemphasis_title) {
  						var nextProposal = proposalArray[index + 1];
  						if (nextProposal) {
  							// remove titles that preceed other titles, all of their subelements have already been filtered out
  							if (STYLES[nextProposal.style] === STYLES.noemphasis_title) {
  								keepElement = false;
  							}
  						} else {
  							keepElement = false; //remove titles that are at the end of the array
  						}
  					}
  					return keepElement;
  				});
  				return element;
  			});
  			
  			return mappedProposals;
  		}
docs: Helper method which removes extra separators and titles from
  an array containing arrays of proposals from the various providers.
  @param{Array[]} proposals An array with each element containing an array of proposals
  @returns {Array} An array without the extra unselectable elements