code: private void zInternalSetTimeTextField(String text) {
          skipTextFieldChangedFunctionWhileTrue = true;
          if (settings.useLowercaseForDisplayTime) {
              text = text.toLowerCase(settings.getLocale());
          }
          timeTextField.setText(text);
          skipTextFieldChangedFunctionWhileTrue = false;
          zEventTextFieldChanged();
      }
docs: zInternalSetTimeTextField, This is called whenever we need to programmatically change the
  time text field. The purpose of this function is to make sure that text field change events
  only occur once per programmatic text change, instead of occurring twice. The default
  behavior is that the text change event will fire twice. (By default, it changes once to clear
  the text, and changes once to change it to new text.)