code: public static void run(final RunType runInto, final JRebirthRunnable runnable, final long... timeout) {
          switch (runInto) {
              case JAT:
                  runIntoJAT(runnable);
                  break;
              case JAT_SYNC:
                  runIntoJATSync(runnable, timeout);
                  break;
              case JIT:
                  runIntoJIT(runnable);
                  break;
              case JIT_SYNC:
                  runIntoJITSync(runnable, timeout);
                  break;
              case JTP:
                  runIntoJTP(runnable);
                  break;
              case JTP_SYNC:
                  runIntoJTPSync(runnable, timeout);
                  break;
              case SAME:
              default:
                  runnable.run();
          }
      }
docs: Run the task into the appropriated thread.
  
  @param runInto the targeted thread
  @param runnable the task to run
  @param timeout the optional timeout value after which the thread will be released (default is 1000 ms)