def failover_strategy_candidate(snapshots)
      # only include nodes that this master Node Manager can see
      filtered_snapshots = snapshots.select do |node, snapshot|
        snapshot.viewable_by?(manager_id)
      end

      logger.info('Attempting to find candidate from snapshots:')
      logger.info("\n" + filtered_snapshots.values.join("\n"))
      @failover_strategy.find_candidate(filtered_snapshots)
    end
def failover_strategy_candidate(snapshots)
      # only include nodes that this master Node Manager can see
      filtered_snapshots = snapshots.select do |node, snapshot|
        snapshot.viewable_by?(manager_id)
      end

      logger.info('Attempting to find candidate from snapshots:')
      logger.info("\n" + filtered_snapshots.values.join("\n"))
      @failover_strategy.find_candidate(filtered_snapshots)
    end
Invokes the configured failover strategy.

 @param [Hash<Node, NodeSnapshot>] snapshots the node snapshots
 @return [Node] a failover candidate