@Override
  public State getState() {
    // there's no reason to lock around the state machine for this SCH since
    // the state machine is synchronized
    return stateMachine.getCurrentState();
  }
The {@link AlertDefinitionCommandTransition} is used to capture the
transition from {@link State#INSTALLING} to {@link State#INSTALLED} so that
the host affected will have new {@link AlertDefinitionCommand}s pushed to
it.
ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java