private DevSpec readDevSpec(Element root) {
        Element devElement = XML.getChild(root, devTag);
        if (devElement == null) return DevSpec.empty;

        Optional<AthenzService> athenzService = XML.attribute(athenzServiceAttribute, devElement).map(AthenzService::from);
        Map<CloudName, CloudAccount> cloudAccounts = readCloudAccounts(devElement);
        Optional<Duration> hostTTL = XML.attribute(hostTTLAttribute, devElement).map(s -> toDuration(s, "host TTL"));
        Tags tags = XML.attribute(tagsTag, devElement).map(Tags::fromString).orElse(Tags.empty());

        Map<ClusterSpec.Id, ZoneEndpoint> endpoints = new LinkedHashMap<>();
        Element endpointsElement = XML.getChild(devElement, endpointsTag);
        if (endpointsElement != null) {
            for (Element endpointElement : XML.getChildren(endpointsElement, endpointTag)) {
                readDevZoneEndpoint(endpointElement, endpoints);
            }
        }
        return new DevSpec(athenzService, Optional.of(cloudAccounts), hostTTL, tags, endpoints);
    }
Returns true if the given value is "true", or if it is missing
config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java