@StateTransition( currentState = State.UNINITIALIZED, desiredState = State.ACTIVE ) private ListenableFuture<Void> activate() { if(_parent.isManagementMode()) { return doAfter(_managementModeAuthenticationProvider.openAsync(), new Runnable() { @Override public void run() { performActivation(); } }); } else { performActivation(); return Futures.immediateFuture(null); } }