@Override
 public void run() {
   freenet.support.Logger.OSThread.logPID(this);
   while (true) {
     try {
       realRun();
     } catch (OutOfMemoryError e) {
       OOMHandler.handleOOM(e);
     } catch (Throwable t) {
       Logger.error(this, "Caught " + t, t);
     }
   }
 }