private static Pair<NodeResources, NodeResources> nodeResourcesFromResourcesElement(ModelElement element) {
        Pair<Double, Double> vcpu       = toRange("vcpu", element,      .0, Double::parseDouble);
        Pair<Double, Double> memory     = toRange("memory", element,    .0, s -> parseGbAmount(s, "B"));
        Pair<Double, Double> disk       = toRange("disk", element,      .0, s -> parseGbAmount(s, "B"));
        Pair<Double, Double> bandwith   = toRange("bandwidth", element, .3, s -> parseGbAmount(s, "BPS"));
        NodeResources.DiskSpeed   diskSpeed     = parseOptionalDiskSpeed(element.stringAttribute("disk-speed"));
        NodeResources.StorageType storageType   = parseOptionalStorageType(element.stringAttribute("storage-type"));
        NodeResources.Architecture architecture = parseOptionalArchitecture(element.stringAttribute("architecture"));
        NodeResources.GpuResources gpuResources = parseOptionalGpuResources(element.child("gpu"));

        var min = new NodeResources(vcpu.getFirst(),  memory.getFirst(),  disk.getFirst(),  bandwith.getFirst(),
                                    diskSpeed, storageType, architecture, gpuResources);
        var max = new NodeResources(vcpu.getSecond(), memory.getSecond(), disk.getSecond(), bandwith.getSecond(),
                                    diskSpeed, storageType, architecture, gpuResources);
        return new Pair<>(min, max);
    }
Returns whether the count attribute was present on the {@code <nodes>} element.
config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java