code: public static void addAttribute(String attribute, Object value, AttributesBuilder attributesBuilder) {
          // NOTE Maven interprets an empty value as null, so we need to explicitly convert it to empty string (see #36)
          // NOTE In Asciidoctor, an empty string represents a true value
          if (value == null || "true".equals(value)) {
              attributesBuilder.attribute(attribute, "");
          }
          // NOTE a value of false is effectively the same as a null value, so recommend the use of the string "false"
          else if ("false".equals(value)) {
              attributesBuilder.attribute(attribute, null);
          }
          // NOTE Maven can't assign a Boolean value from the XML-based configuration, but a client may
          else if (value instanceof Boolean) {
              attributesBuilder.attribute(attribute, Attributes.toAsciidoctorFlag((Boolean) value));
          } else {
              // Can't do anything about dates and times because all that logic is private in Attributes
              attributesBuilder.attribute(attribute, value);
          }
      }
docs: Adds an attribute into a {@link AttributesBuilder} taking care of Maven's XML parsing special cases like
  toggles toggles, nulls, etc.
  
  @param attribute         Asciidoctor attribute name
  @param value             Asciidoctor attribute value
  @param attributesBuilder AsciidoctorJ AttributesBuilder