docs: final String getSerialVersionUID(TypeElement type) {
      TypeMirror serializable = elementUtils().getTypeElement(Serializable.class.getName()).asType();
      if (typeUtils().isAssignable(type.asType(), serializable)) {
        List<VariableElement> fields = ElementFilter.fieldsIn(type.getEnclosedElements());
        for (VariableElement field : fields) {
          if (field.getSimpleName().contentEquals("serialVersionUID")) {
            Object value = field.getConstantValue();
            if (field.getModifiers().containsAll(Arrays.asList(Modifier.STATIC, Modifier.FINAL))
                && field.asType().getKind() == TypeKind.LONG
                && value != null) {
              return value + "L";
            } else {
              errorReporter.reportError(
                  "serialVersionUID must be a static final long compile-time constant", field);
              break;
            }
          }
        }
      }
      return "";
    }