docs: protected Boolean mergeAnnotationBoolean(Boolean oldValue,
                                               boolean oldValueXML,
                                               boolean newValue,
                                               String elementName,
                                               boolean defaultValue) throws InjectionConfigurationException {
          if (newValue == defaultValue || oldValueXML) {
              return oldValue;
          }
  
          if (isComplete()) {
              mergeError(oldValue, newValue, false, elementName, false, elementName);
              return oldValue;
          }
  
          // Merge errors cannot occur for boolean attributes because there are
          // only two possible values: the default value, for which there is no way
          // to detect if it was explicitly specified, and the other value.  So, if
          // any of the annotations specify the non-default value, we use it.
          return newValue;
      }