private static String requireStringAttribute(String attributeName, Element tag) {
        return stringAttribute(attributeName, tag)
                .orElseThrow(() -> new IllegalArgumentException("Missing required attribute '" + attributeName +
                                                                "' in '" + tag.getTagName() + "'"));
    }
Returns the given non-blank attribute of tag or throw
config-model-api/src/main/java/com/yahoo/config/application/api/xml/DeploymentSpecXmlReader.java