/**
 * Allows the application to load a custom or default session.
 *
 * The logic and options for creating this object are adequately generic for default cases
 * but for many applications it will make sense to override this method and create a session,
 * if required, based on more specific needs.
 *
 * @param   Session  $session  An optional session object. If omitted, the session is created.
 *
 * @return  WebApplication This method is chainable.
 *
 * @since   1.7.3
 * @deprecated  5.0  The session should be injected as a service.
 */
public function loadSession(Session $session = null)
{
    $this->getLogger()->warning(__METHOD__ . '() is deprecated.  Inject the session as a service instead.', array('category' => 'deprecated'));
    return $this;
}