private Optional<Node> tryAllocateNodes(List<Node> nodes,
                                            List<Node> hosts,
                                            Map<Node, AllocationResources> availableResources,
                                            Map<Node, List<Allocation>> containedAllocations) {
        return tryAllocateNodes(nodes, hosts, availableResources, containedAllocations, false);
    }
Attempts to allocate the listed nodes to a new host, mutating availableResources and containedAllocations,
optionally returning the first node to fail, if one does.
node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/CapacityChecker.java