public StateMachineFactory
             <OPERAND, STATE, EVENTTYPE, EVENT>
          installTopology() {
    return new StateMachineFactory<>(this, true);
  }
@return a StateMachineFactory just like {@code this}, except that if
        you won't need any synchronization to build a state machine

        Note that the returned StateMachineFactory is a distinct object.

        This method is part of the API.

        The only way you could distinguish the returned
        StateMachineFactory from {@code this} would be by
        measuring the performance of the derived
        {@code StateMachine} you can get from it.

Calling this is optional.  It doesn't change the semantics of the factory,
  if you call it then when you use the factory there is no synchronization.
ambari-server/src/main/java/org/apache/ambari/server/state/fsm/StateMachineFactory.java