code: private void checkForTopologyChanges() {
          StoredProcedureInvocation spi = new StoredProcedureInvocation();
          spi.setProcName("@Statistics");
          spi.setParams("TOPO", 0);
          spi.setClientHandle(ASYNC_TOPO_HANDLE);
          notifyClients(m_currentTopologyValues,m_currentTopologySupplier,
                           spi, OpsSelector.STATISTICS);
  
          spi = new StoredProcedureInvocation();
          spi.setProcName("@SystemCatalog");
          spi.setParams("PROCEDURES");
          spi.setClientHandle(ASYNC_PROC_HANDLE);
          notifyClients(m_currentProcValues,m_currentProcSupplier,
                          spi, OpsSelector.SYSTEMCATALOG);
      }
docs: /*
  Submit a task to the stats agent to retrieve the topology and procedures. Supply a dummy
  client response adapter to fake a connection. The adapter converts the response
  to a listenable future and we add a listener to pick up the resulting topology
  and check if it has changed. If it has changed, queue a task to the notifier
  to propagate the update to clients.