/** {@inheritDoc} */
  @Override
  public GridDiscoveryTopologySnapshot topologySnapshot() throws IgniteCheckedException {
    get();

    if (topSnapshot.get() == null)
      topSnapshot.compareAndSet(
          null,
          new GridDiscoveryTopologySnapshot(discoEvt.topologyVersion(), discoEvt.topologyNodes()));

    return topSnapshot.get();
  }