code: protected final void resubmit() throws Interrupt {
          final String cid = engine.createUUID();
          engine.registerCallbacks(this, WaitMode.ALL, 0, cid);
          Acknowledge ack = createCheckpointAcknowledge();
          engine.notify(new Response<Object>(cid, null, null), ack);
          registerCheckpointAcknowledge(ack);
          updateLastWaitStackTrace();
          
      }
docs: Causes the engine to stop processing of this workflow instance and to enqueue it again.
  May be used in case of processor pool change or to create a 'savepoint'.
  
  @throws Interrupt
  for internal use of COPPER. After resubmit is called, an Interrupt is thrown, caught by COPPER itself for
  taking back control over the executed workflow.