code: function(event, tooltipIsDetached) {
  		
  		var self = this;
  		
  		if (!self.__destroyed) {
  			
  			// if the tooltip is still open and the origin is still in the DOM
  			if (self.__state != 'closed' && bodyContains(self._$origin)) {
  				
  				// if the tooltip has not been removed from DOM manually (or if it
  				// has been detached on purpose)
  				if (tooltipIsDetached || bodyContains(self._$tooltip)) {
  					
  					if (!tooltipIsDetached) {
  						// detach in case the tooltip overflows the window and adds
  						// scrollbars to it, so __geometry can be accurate
  						self._$tooltip.detach();
  					}
  					
  					// refresh the geometry object before passing it as a helper
  					self.__Geometry = self.__geometry();
  					
  					// let a plugin fo the rest
  					self._trigger({
  						type: 'reposition',
  						event: event,
  						helper: {
  							geo: self.__Geometry
  						}
  					});
  				}
  			}
  		}
  		else {
  			self.__destroyError();
  		}
  		
  		return self;
  	}
docs: This method is in charge of setting the position and size properties of the tooltip.
  All the hard work is delegated to the display plugin.
  Note: The tooltip may be detached from the DOM at the moment the method is called
  but must be attached by the end of the method call.
  
  @param {object} event For internal use only. Defined if an event such as
  window resizing triggered the repositioning
  @param {boolean} tooltipIsDetached For internal use only. Set this to true if you
  know that the tooltip not being in the DOM is not an issue (typically when the
  tooltip element has just been created but has not been added to the DOM yet).
  @returns {self}
  @public