docs: private ConditionData condition()
          throws IOException
      {
          ConditionData data = new ConditionData();
  
          if (mustMatchToken(Token.LP, "msg.no.paren.cond", true))
              data.lp = ts.tokenBeg;
  
          data.condition = expr();
  
          if (mustMatchToken(Token.RP, "msg.no.paren.after.cond", true))
              data.rp = ts.tokenBeg;
  
          // Report strict warning on code like "if (a = 7) ...". Suppress the
          // warning if the condition is parenthesized, like "if ((a = 7)) ...".
          if (data.condition instanceof Assignment) {
              addStrictWarning("msg.equal.as.assign", "",
                               data.condition.getPosition(),
                               data.condition.getLength());
          }
          return data;
      }