/**
  * Destructor.
  */
 ~current_context_scope() {
   if(leave_current_context(c) && old.is_valid())
     enter_current_context(old);
 }