docs: @Override
      public int compareTo(final AnnotationParameterValue other) {
          if (other == this) {
              return 0;
          }
          final int diff = name.compareTo(other.getName());
          if (diff != 0) {
              return diff;
          }
          if (value.equals(other.value)) {
              return 0;
          }
          // Use toString() order (which can be slow) as a last-ditch effort -- only happens
          // if the annotation has multiple parameters of the same name but different value. 
          final Object p0 = getValue();
          final Object p1 = other.getValue();
          return p0 == null || p1 == null ? (p0 == null ? 0 : 1) - (p1 == null ? 0 : 1)
                  : toStringParamValueOnly().compareTo(other.toStringParamValueOnly());
      }