code: public void clear() {
  	try {
  	    Scope scope;
  	    // Map.Entry entry,e;
  	    // Map context;
  
  	    // release all session scopes
  	    Iterator<Entry<String, Map<String, Scope>>> sit = cfSessionContexts.entrySet().iterator();
  	    Entry<String, Map<String, Scope>> sentry;
  	    Map<String, Scope> context;
  	    Iterator<Entry<String, Scope>> itt;
  	    Entry<String, Scope> e;
  	    PageContext pc = ThreadLocalPageContext.get();
  	    while (sit.hasNext()) {
  		sentry = sit.next();
  		context = sentry.getValue();
  		itt = context.entrySet().iterator();
  		while (itt.hasNext()) {
  		    e = itt.next();
  		    scope = e.getValue();
  		    scope.release(pc);
  		}
  	    }
  	    cfSessionContexts.clear();
  
  	    // release all application scopes
  	    Iterator<Entry<String, Application>> ait = applicationContexts.entrySet().iterator();
  	    Entry<String, Application> aentry;
  	    while (ait.hasNext()) {
  		aentry = ait.next();
  		scope = aentry.getValue();
  		scope.release(pc);
  	    }
  	    applicationContexts.clear();
  
  	    // release server scope
  	    if (server != null) {
  		server.release(pc);
  		server = null;
  	    }
  
  	}
  	catch (Throwable t) {
  	    ExceptionUtil.rethrowIfNecessary(t);
  	}
      }
docs: remove all scope objects