class AgentManagementNodeDataResolver implements NodeDataResolver {

    @Override
    public Map<String, Node> resolve() {
        List<Pair<AgentInstanceGroup, List<AgentInstance>>> all = agentOperations.findAgentInstances(pair ->
                fenzoNodeFilter.test(pair.getRight())
        );
        Map<String, Node> result = new HashMap<>();
        all.forEach(pair -> {
            AgentInstanceGroup serverGroup = pair.getLeft();
            List<AgentInstance> instances = pair.getRight();
            instances.forEach(instance -> result.put(instance.getId(), toNode(serverGroup, instance)));
        });
        return result;
    }

    public  AgentManagementNodeDataResolver(ReadOnlyAgentOperations agentOperations,
                                           AgentDataReplicator agentDataReplicator,
                                           Predicate<AgentInstance> fenzoNodeFilter,
                                           RelocationConfiguration relocationConfiguration,
                                           KubeApiFacade kubeApiFacade);

}