title: What is the "scan" token/keyword/feature in Java?
body: <p>I was recently debugging some code which led me through an exercise of stepping through the source for the String class. While looking through the <a href="http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/String.java#2409" rel="nofollow">code</a>, I came across:</p>
  
  <pre><code>/* Now check if there are any characters that need to be changed. */
      scan: {
          for (firstUpper = 0 ; firstUpper &lt; len; ) {
              char c = value[firstUpper];
              if ((c &gt;= Character.MIN_HIGH_SURROGATE)
                      &amp;&amp; (c &lt;= Character.MAX_HIGH_SURROGATE)) {
                  int supplChar = codePointAt(firstUpper);
                  if (supplChar != Character.toLowerCase(supplChar)) {
                      break scan;
                  }
                  firstUpper += Character.charCount(supplChar);
              } else {
                  if (c != Character.toLowerCase(c)) {
                      break scan;
                  }
                  firstUpper++;
              }
          }
          return this;
      }
  </code></pre>
  
  <p>I don't think I've ever seen the <code>scan</code> keyword. I did an internet search and even read the <a href="https://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.9" rel="nofollow">Java keyword spec</a>, but it doesn't mention <code>scan</code> as an official keyword. Can anyone point me to some documentation on this keyword/token/feature?</p>