docs: function _renderImmediateInfo(contentsDiv, contents, context) {						
  			// If it's an annotation then process the annotation(s) to get the actual data
  			if (contents instanceof Array) {
  				contents = this._getAnnotationContents(contents, context);			
  				if (!contents) {
  					return false;
  				}
  			}
  			
  			if (typeof contents === "string") {
  				contentsDiv.textContent = contents;
  				return true;
  			} else if (this._isNode(contents)) {
  				contentsDiv.appendChild(contents);
  				return true;
  			} else if (contents instanceof mProjectionTextModel.ProjectionTextModel) {
  				var view = this._view;
  				var options = view.getOptions();
  				options.wrapMode = false;
  				options.parent = contentsDiv;
  				var tooltipTheme = "tooltipTheme"; //$NON-NLS-0$
  				var theme = options.themeClass;
  				if (theme) {
  					theme = theme.replace(tooltipTheme, "");
  					if (theme) { theme = " " + theme; } //$NON-NLS-0$
  					theme = tooltipTheme + theme;
  				} else {
  					theme = tooltipTheme;
  				}
  				options.themeClass = theme;
  				var contentsView = this._contentsView = new mTextView.TextView(options);
  				//TODO need to find a better way of sharing the styler for multiple views
  				var listener = {
  					onLineStyle: function(e) {
  						view.onLineStyle(e);
  					}
  				};
  				contentsView.addEventListener("LineStyle", listener.onLineStyle);
  				contentsView.setModel(contents);
  				
  				// TODO This is a hack to compute the projection size we will have in the tooltip, we remove the child after computing
  				this._tooltipDiv.appendChild(contentsDiv);
  				// Use the editor colors with a simple border
  				this._tooltipDiv.classList.add("textviewTooltipCodeProjection"); //$NON-NLS-0$
  				var size = contentsView.computeSize();
  				// Adjust the size for the padding
  				contentsDiv.style.width = (size.width+16) + "px"; //$NON-NLS-0$
  				contentsDiv.style.height = (size.height+16) + "px"; //$NON-NLS-0$
  				contentsView.resize();
  				this._tooltipDiv.removeChild(contentsDiv);
  				return true;
  			}
  			return false;
  		}