public Attributes getAsciiDocAttributes(Map<String, Object> originalDocAttributes) {
        Map<String, String> map = new LinkedHashMap<>();
        ObservableList<AttributesTable> attributes = getAttributes();
        for (AttributesTable attribute : attributes) {
            String key = attribute.getAttribute();
            String value = attribute.getValue();
            if (Objects.nonNull(key) &&
                    Objects.nonNull(value) &&
                    !value.equalsIgnoreCase("false")) {
                if (value.equalsIgnoreCase("true")) {
                    value = "";
                }
                map.put(key, value);
            }
        }
        Map<String, Object> cloneMap = new LinkedHashMap<>(map);
        List<String> ignoredAttributes = getIgnoredAttributes(originalDocAttributes);
        for (Map.Entry<String, Object> entry : originalDocAttributes.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (!ignoredAttributes.contains(key)) {
                cloneMap.put(key, value);
            }
        }

        String docdir = (String) originalDocAttributes.get("docdir");
        cloneMap = resolveExtensionBuilderAttributes(docdir, cloneMap);

        AttributesBuilder attributesBuilder = Attributes.builder();
        for (Map.Entry<String, Object> entry : cloneMap.entrySet()) {
            attributesBuilder.attribute(entry.getKey(), entry.getValue());
        }

        // since notitle is required to control
        if (map.containsKey("showtitle") && map.containsValue("")) {
            attributesBuilder.showTitle(true);
        }

        return attributesBuilder.build();
    }
Set additional attributes in the GUI.
Only needed if child class has additional elements which are not shown
in the parent class.
@param childClassAttributes
@see AsciidoctorConfigBase#load(Path, ActionEvent...)
src/main/java/com/kodedu/config/AsciidoctorConfigBase.java