diff --git a/pkg/analysis_server/lib/protocol/protocol_generated.dart b/pkg/analysis_server/lib/protocol/protocol_generated.dart
index 603016e..45a219f 100644
--- a/pkg/analysis_server/lib/protocol/protocol_generated.dart
+++ b/pkg/analysis_server/lib/protocol/protocol_generated.dart
@@ -8296,19 +8296,19 @@
 
   /**
    * Messages that should be displayed to the user that describe details of the
-   * fix generation. This could be details that users might want to explore
-   * before committing the changes to descriptions of exceptions that were
-   * thrown but that did not stop the fixes from being produced. The list will
-   * be omitted if it is empty.
+   * fix generation. For example, the messages might (a) point out details that
+   * users might want to explore before committing the changes or (b) describe
+   * exceptions that were thrown but that did not stop the fixes from being
+   * produced. The list will be omitted if it is empty.
    */
   List<String> get details => _details;
 
   /**
    * Messages that should be displayed to the user that describe details of the
-   * fix generation. This could be details that users might want to explore
-   * before committing the changes to descriptions of exceptions that were
-   * thrown but that did not stop the fixes from being produced. The list will
-   * be omitted if it is empty.
+   * fix generation. For example, the messages might (a) point out details that
+   * users might want to explore before committing the changes or (b) describe
+   * exceptions that were thrown but that did not stop the fixes from being
+   * produced. The list will be omitted if it is empty.
    */
   void set details(List<String> value) {
     this._details = value;
diff --git a/pkg/analysis_server/test/integration/support/integration_test_methods.dart b/pkg/analysis_server/test/integration/support/integration_test_methods.dart
index d14ee38..cd4df3d 100644
--- a/pkg/analysis_server/test/integration/support/integration_test_methods.dart
+++ b/pkg/analysis_server/test/integration/support/integration_test_methods.dart
@@ -1779,10 +1779,10 @@
    * details: List<String> (optional)
    *
    *   Messages that should be displayed to the user that describe details of
-   *   the fix generation. This could be details that users might want to
-   *   explore before committing the changes to descriptions of exceptions that
-   *   were thrown but that did not stop the fixes from being produced. The
-   *   list will be omitted if it is empty.
+   *   the fix generation. For example, the messages might (a) point out
+   *   details that users might want to explore before committing the changes
+   *   or (b) describe exceptions that were thrown but that did not stop the
+   *   fixes from being produced. The list will be omitted if it is empty.
    */
   Future<EditDartfixResult> sendEditDartfix(List<String> included,
       {List<String> includedFixes,
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index 81ad119..14ed664 100644
--- a/pkg/analysis_server/tool/spec/spec_input.html
+++ b/pkg/analysis_server/tool/spec/spec_input.html
@@ -2259,10 +2259,10 @@
         </list>
         <p>
           Messages that should be displayed to the user that describe details of
-          the fix generation. This could be details that users might want to
-          explore before committing the changes to descriptions of exceptions
-          that were thrown but that did not stop the fixes from being produced.
-          The list will be omitted if it is empty.
+          the fix generation. For example, the messages might (a) point out
+          details that users might want to explore before committing the changes
+          or (b) describe exceptions that were thrown but that did not stop the
+          fixes from being produced. The list will be omitted if it is empty.
         </p>
       </field>
     </result>
diff --git a/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart b/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
index af0e154..23f7303 100644
--- a/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
+++ b/pkg/analysis_server_client/lib/src/protocol/protocol_generated.dart
@@ -8296,19 +8296,19 @@
 
   /**
    * Messages that should be displayed to the user that describe details of the
-   * fix generation. This could be details that users might want to explore
-   * before committing the changes to descriptions of exceptions that were
-   * thrown but that did not stop the fixes from being produced. The list will
-   * be omitted if it is empty.
+   * fix generation. For example, the messages might (a) point out details that
+   * users might want to explore before committing the changes or (b) describe
+   * exceptions that were thrown but that did not stop the fixes from being
+   * produced. The list will be omitted if it is empty.
    */
   List<String> get details => _details;
 
   /**
    * Messages that should be displayed to the user that describe details of the
-   * fix generation. This could be details that users might want to explore
-   * before committing the changes to descriptions of exceptions that were
-   * thrown but that did not stop the fixes from being produced. The list will
-   * be omitted if it is empty.
+   * fix generation. For example, the messages might (a) point out details that
+   * users might want to explore before committing the changes or (b) describe
+   * exceptions that were thrown but that did not stop the fixes from being
+   * produced. The list will be omitted if it is empty.
    */
   void set details(List<String> value) {
     this._details = value;
