Fix printing of options categories in CLI help

Before it was omitting category titles / section breaks if the first option of the new category happened to be undocumented.

RELNOTES: None
PiperOrigin-RevId: 155458981
GitOrigin-RevId: ea71d6dc3d60c4ac937f3236c50b20f2daeefd58
Change-Id: I2022e83edc43904ee635073ebdea745d52d301f1
diff --git a/java/com/google/devtools/common/options/OptionsParser.java b/java/com/google/devtools/common/options/OptionsParser.java
index c6bd002..728c490 100644
--- a/java/com/google/devtools/common/options/OptionsParser.java
+++ b/java/com/google/devtools/common/options/OptionsParser.java
@@ -553,15 +553,14 @@
       for (Field optionField : allFields) {
         Option option = optionField.getAnnotation(Option.class);
         String category = option.category();
-        if (!category.equals(prevCategory)) {
-          prevCategory = category;
+        if (!category.equals(prevCategory)
+            && option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
           String description = categoryDescriptions.get(category);
           if (description == null) {
             description = "Options category '" + category + "'";
           }
-          if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {
-            desc.append("\n").append(description).append(":\n");
-          }
+          desc.append("\n").append(description).append(":\n");
+          prevCategory = category;
         }
 
         if (option.optionUsageRestrictions() == OptionUsageRestrictions.DOCUMENTED) {