String getFirstTimeTriggerTimeZone() {
    if (timeTriggers != null && !timeTriggers.isEmpty()) {
      return timeTriggers.get(0).getTimezone();
    }
    return null;
  }
@Test
  public void testGetFirstTimeTriggerTimeZone() throws Exception {
    WorkflowInstance instance =
        loadObject(
            "fixtures/instances/sample-workflow-instance-created.json", WorkflowInstance.class);
    CronTimeTrigger cronTrigger1 = new CronTimeTrigger();
    cronTrigger1.setTimezone("US/Pacific");
    CronTimeTrigger cronTrigger2 = new CronTimeTrigger();
    cronTrigger2.setTimezone("UTC");
    instance.setRuntimeWorkflow(
        instance.getRuntimeWorkflow().toBuilder()
            .timeTriggers(Arrays.asList(cronTrigger1, cronTrigger2))
            .build());
    RunRequest runRequest =
        RunRequest.builder()
            .currentPolicy(RunPolicy.START_FRESH_NEW_RUN)
            .requester(User.create("tester"))
            .build();

    InstanceWrapper instanceWrapper = InstanceWrapper.from(instance, runRequest);
    assertEquals(runRequest.getInitiator(), instanceWrapper.getInitiator());
    assertTrue(instanceWrapper.isWorkflowParam());
    assertNull(instanceWrapper.getInitiatorTimeZone());
    assertEquals(runRequest.getCurrentPolicy().name(), instanceWrapper.getRunPolicy());
    assertEquals(
        instance.getRunProperties().getOwner().getName(), instanceWrapper.getWorkflowOwner());
    assertEquals("US/Pacific", instanceWrapper.getFirstTimeTriggerTimeZone());
  }