<?xml version="1.0" encoding="UTF-8"?>

<document xmlns="http://maven.apache.org/XDOC/2.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">

  <head>
    <title>Whitespace</title>
    <script type="text/javascript"
            src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"/>
    <script type="text/javascript" src="js/anchors.js"/>
    <script type="text/javascript" src="js/google-analytics.js"/>
    <link rel="icon" href="images/favicon.png" type="image/x-icon" />
    <link rel="shortcut icon" href="images/favicon.ico" type="image/ico" />
  </head>

  <body>
    <section name="Content">
      <macro name="toc">
        <param name="fromDepth" value="1"/>
        <param name="toDepth" value="1"/>
      </macro>
    </section>

    <section name="EmptyForInitializerPad">
      <p>Since Checkstyle 3.4</p>
      <subsection name="Description" id="EmptyForInitializerPad_Description">
        <p>
          Checks the padding of an empty for initializer; that is whether
          a white space is required at an empty for initializer, or such white
          space is forbidden.  No check occurs if there is a line wrap at the
          initializer, as in
        </p>

        <source>
for (
      ; i &lt; j; i++, j--)
        </source>
      </subsection>

      <subsection name="Properties" id="EmptyForInitializerPad_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to pad an empty for iterator.</td>
              <td><a href="property_types.html#parenPad">Pad Policy</a></td>
              <td><code>nospace</code></td>
              <td>3.4</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="EmptyForInitializerPad_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;EmptyForInitializerPad&quot;/&gt;
        </source>

        <p>
          To configure the check to require white space at an empty for
          iterator:
        </p>
        <source>
&lt;module name=&quot;EmptyForInitializerPad&quot;&gt;
  &lt;property name=&quot;option&quot; value=&quot;space&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="EmptyForInitializerPad_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+EmptyForInitializerPad">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="EmptyForInitializerPad_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
        </ul>
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="EmptyForInitializerPad_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="EmptyForInitializerPad_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="EmptyForIteratorPad">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="EmptyForIteratorPad_Description">
        <p>
          Checks the padding of an empty for iterator; that is whether a white
          space is required at an empty for iterator, or such white space is
          forbidden. No check occurs if there is a line wrap at the iterator,
          as in
        </p>
        <source>
for (Iterator foo = very.long.line.iterator();
      foo.hasNext();
     )
        </source>
      </subsection>

     <subsection name="Properties" id="EmptyForIteratorPad_Properties">
       <div class="wrapper">
         <table>
           <tr>
             <th>name</th>
             <th>description</th>
             <th>type</th>
             <th>default value</th>
             <th>since</th>
           </tr>
           <tr>
             <td>option</td>
             <td>Specify policy on how to pad an empty for iterator.</td>
             <td><a href="property_types.html#parenPad">Pad Policy</a></td>
             <td><code>nospace</code></td>
             <td>3.0</td>
           </tr>
         </table>
       </div>
     </subsection>

      <subsection name="Examples" id="EmptyForIteratorPad_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;EmptyForIteratorPad&quot;/&gt;
        </source>

        <p>
          To configure the check to require white space at an empty for
          iterator:
        </p>
        <source>
&lt;module name=&quot;EmptyForIteratorPad&quot;&gt;
  &lt;property name=&quot;option&quot; value=&quot;space&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="EmptyForIteratorPad_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+EmptyForIteratorPad">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+EmptyForIteratorPad">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="EmptyForIteratorPad_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.followed%22">
            ws.followed</a>
          </li>
        </ul>
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notFollowed%22">
            ws.notFollowed</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="EmptyForIteratorPad_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="EmptyForIteratorPad_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="EmptyLineSeparator">
      <p>Since Checkstyle 5.8</p>
      <subsection name="Description" id="EmptyLineSeparator_Description">
        <p>
          Checks for empty line separators after header, package, all import declarations,
          fields, constructors, methods, nested classes,
          static initializers and instance initializers.
        </p>
        <p>
          ATTENTION: empty line separator is required between token siblings,
          not after line where token is found.
          If token does not have same type sibling then empty line
          is required at its end (for example for CLASS_DEF it is after '}').
          Also, trailing comments are skipped.
        </p>
      </subsection>

      <subsection name="Properties" id="EmptyLineSeparator_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>allowNoEmptyLineBetweenFields</td>
              <td>Allow no empty line between fields.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>5.8</td>
            </tr>
            <tr>
              <td>allowMultipleEmptyLines</td>
              <td>Allow multiple empty lines between class members.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>true</code></td>
              <td>6.3</td>
            </tr>
            <tr>
              <td>allowMultipleEmptyLinesInsideClassMembers</td>
              <td>Allow multiple empty lines inside class members.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>true</code></td>
              <td>6.18</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>
              <td>subset of tokens
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PACKAGE_DEF">
                  PACKAGE_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPORT">
                  IMPORT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_IMPORT">
                  STATIC_IMPORT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">
                  CLASS_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">
                  INTERFACE_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">
                  ENUM_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  STATIC_INIT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INSTANCE_INIT">
                  INSTANCE_INIT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">
                  VARIABLE_DEF</a>.
            </td>
            <td>
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PACKAGE_DEF">
                  PACKAGE_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPORT">
                  IMPORT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_IMPORT">
                  STATIC_IMPORT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">
                  CLASS_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">
                  INTERFACE_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">
                  ENUM_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  STATIC_INIT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INSTANCE_INIT">
                  INSTANCE_INIT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">
                  VARIABLE_DEF</a>.
            </td>
            <td>5.8</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="EmptyLineSeparator_Examples">
      <p>
        Example of declarations without empty line separator:
      </p>
      <source>
///////////////////////////////////////////////////
//HEADER
///////////////////////////////////////////////////
package com.puppycrawl.tools.checkstyle.whitespace;
import java.io.Serializable;
class Foo {
  public static final int FOO_CONST = 1;
  public void foo() {} //should be separated from previous statement.
}
      </source>
      <p>
        To configure the check with default parameters:
      </p>
      <source>
&lt;module name="EmptyLineSeparator"/&gt;
      </source>
      <p>
        Example of declarations with empty line separator that is expected by the Check by default:
      </p>
      <source>
///////////////////////////////////////////////////
//HEADER
///////////////////////////////////////////////////

package com.puppycrawl.tools.checkstyle.whitespace;

import java.io.Serializable;

class Foo {
  public static final int FOO_CONST = 1;

  public void foo() {}
}
      </source>
      <p>
        To check empty line after
        <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#VARIABLE_DEF">
                VARIABLE_DEF</a> and
        <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                METHOD_DEF</a>:
      </p>
      <source>
&lt;module name="EmptyLineSeparator"&gt;
  &lt;property name="tokens" value="VARIABLE_DEF, METHOD_DEF"/&gt;
&lt;/module&gt;
      </source>
      <p>
        To allow no empty line between fields:
      </p>
      <source>
&lt;module name="EmptyLineSeparator"&gt;
  &lt;property name="allowNoEmptyLineBetweenFields" value="true"/&gt;
&lt;/module&gt;
      </source>
      <p>
        Example of declarations with multiple empty lines between class members
        (allowed by default):
      </p>
      <source>
///////////////////////////////////////////////////
//HEADER
///////////////////////////////////////////////////&#10;

package com.puppycrawl.tools.checkstyle.whitespace;&#10;&#10;

import java.io.Serializable;&#10;

class Foo {
  public static final int FOO_CONST = 1;&#10;&#10;

  public void foo() {} //should be separated from previous statement.
}
      </source>
      <p>
        To disallow multiple empty lines between class members:
      </p>
      <source>
&lt;module name="EmptyLineSeparator"&gt;
  &lt;property name="allowMultipleEmptyLines" value="false"/&gt;
&lt;/module&gt;
      </source>
      <p>
        To disallow multiple empty lines inside constructor,
          initialization block and method:
      </p>
      <source>
&lt;module name="EmptyLineSeparator"&gt;
  &lt;property name="allowMultipleEmptyLinesInsideClassMembers" value="false"/&gt;
&lt;/module&gt;
      </source>

      <p>
          The check is valid only for statements that have body:
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">
                CLASS_DEF</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">
                INTERFACE_DEF</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">
                ENUM_DEF</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                STATIC_INIT</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INSTANCE_INIT">
                INSTANCE_INIT</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                METHOD_DEF</a>,
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                CTOR_DEF</a>.
      </p>
      <p>
          Example of declarations with multiple empty lines inside method:
      </p>
      <source>
///////////////////////////////////////////////////
//HEADER
///////////////////////////////////////////////////

package com.puppycrawl.tools.checkstyle.whitespace;

class Foo {

  public void foo() {&#10;

    System.out.println(1); // violation since method has 2 empty lines subsequently
  }
}
      </source>
      </subsection>

      <subsection name="Example of Usage" id="EmptyLineSeparator_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+EmptyLineSeparator">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+EmptyLineSeparator">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="EmptyLineSeparator_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22empty.line.separator%22">
            empty.line.separator</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22empty.line.separator.multiple.lines%22">
            empty.line.separator.multiple.lines</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22empty.line.separator.multiple.lines.after%22">
            empty.line.separator.multiple.lines.after</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22empty.line.separator.multiple.lines.inside%22">
            empty.line.separator.multiple.lines.inside</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="EmptyLineSeparator_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="EmptyLineSeparator_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="FileTabCharacter">
      <p>Since Checkstyle 5.0</p>
      <subsection name="Description" id="FileTabCharacter_Description">
        <p>
          Checks that there are no tab characters (<code>'\t'</code>) in the source code.
        </p>

        <p>
          Rationale:
        </p>

        <ul>
          <li>
            Developers should not need to configure the tab width of their
            text editors in order to be able to read source code.
          </li>
          <li>
            From the Apache jakarta coding standards: In a distributed
            development environment, when the commit messages get sent
            to a mailing list, they are almost impossible to read if you
            use tabs.
          </li>
        </ul>
      </subsection>

      <subsection name="Properties" id="FileTabCharacter_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>eachLine</td>
              <td>
                Control whether to report on each line containing a tab, or just the first instance.
              </td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>5.0</td>
            </tr>
            <tr>
              <td>fileExtensions</td>
              <td>Specify file type extension of files to process.</td>
              <td><a href="property_types.html#stringSet">String Set</a></td>
              <td><code>all files</code></td>
              <td>5.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="FileTabCharacter_Examples">
        <p>
          To configure the check to report on the first instance in each
          file:
        </p>
        <source>
&lt;module name=&quot;FileTabCharacter&quot;/&gt;
        </source>
        <p>
          To configure the check to report on each line in each file:
        </p>
        <source>
&lt;module name=&quot;FileTabCharacter&quot;&gt;
  &lt;property name=&quot;eachLine&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="FileTabCharacter_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+FileTabCharacter">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+FileTabCharacter">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+FileTabCharacter">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="FileTabCharacter_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22containsTab%22">
            containsTab</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22file.containsTab%22">
            file.containsTab</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="FileTabCharacter_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="FileTabCharacter_Parent_Module">
        <p>
          <a href="config.html#Checker">Checker</a>
        </p>
      </subsection>
    </section>

    <section name="GenericWhitespace">
      <p>Since Checkstyle 5.0</p>
      <subsection name="Description" id="GenericWhitespace_Description">
        <p>
          Checks that the whitespace around the Generic tokens (angle brackets)
          "&lt;" and "&gt;" are correct to the <i>typical</i> convention.
          The convention is not configurable.
        </p>
        <p>
          Left angle bracket ("&lt;"):
        </p>
        <ul>
          <li> should be preceded with whitespace only in generic methods definitions.</li>
          <li> should not be preceded with whitespace when it is precede method name
               or following type name.</li>
          <li> should not be followed with whitespace in all cases.</li>
        </ul>
        <p>
          Right angle bracket ("&gt;"):
        </p>
        <ul>
          <li> should not be preceded with whitespace in all cases.</li>
          <li> should be followed with whitespace in almost all cases, except diamond operators
               and when preceding method name.</li>
        </ul>

        <p>
          Examples with correct spacing:
        </p>
        <source>
// Generic methods definitions
public void &lt;K, V extends Number&gt; boolean foo(K, V) {}
// Generic type definition
class name&lt;T1, T2, ..., Tn&gt; {}
// Generic type reference
OrderedPair&lt;String, Box&lt;Integer&gt;&gt; p;
// Generic preceded method name
boolean same = Util.&lt;Integer, String&gt;compare(p1, p2);
// Diamond operator
Pair&lt;Integer, String&gt; p1 = new Pair&lt;&gt;(1, "apple");
// Method reference
List&lt;T&gt; list = ImmutableList.Builder&lt;T&gt;::new;
// Method reference
sort(list, Comparable::&lt;String&gt;compareTo);
        </source>
      </subsection>

      <subsection name="Examples" id="GenericWhitespace_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;GenericWhitespace&quot;/&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="GenericWhitespace_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+GenericWhitespace">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+GenericWhitespace">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+GenericWhitespace">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="GenericWhitespace_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.followed%22">
            ws.followed</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.illegalFollow%22">
            ws.illegalFollow</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="GenericWhitespace_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="GenericWhitespace_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="MethodParamPad">
      <p>Since Checkstyle 3.4</p>
      <subsection name="Description" id="MethodParamPad_Description">
        <p>
          Checks the padding between the identifier of a method definition,
          constructor definition, method call, or constructor invocation; and
          the left parenthesis of the parameter list. That is, if the
          identifier and left parenthesis are on the same line, checks whether
          a space is required immediately after the identifier or such a space
          is forbidden. If they are not on the same line, reports a violation,
          unless configured to allow line breaks. To allow linebreaks after
          the identifier, set property <code>allowLineBreaks</code> to <code>
          true</code>.
        </p>
      </subsection>

      <subsection name="Properties" id="MethodParamPad_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>allowLineBreaks</td>
              <td>
                Allow a line break between the identifier and left parenthesis.
              </td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>3.4</td>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to pad method parameter.</td>
              <td>
                <a href="property_types.html#parenPad">Pad Policy</a>
              </td>
              <td><code>nospace</code></td>
              <td>3.4</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">
                  LITERAL_NEW</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_CALL">
                  METHOD_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SUPER_CTOR_CALL">
                  SUPER_CTOR_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">
                  ENUM_CONSTANT_DEF</a>.
              </td>

              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
                 <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">
                  LITERAL_NEW</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_CALL">
                  METHOD_CALL</a>,
                   <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
                    <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SUPER_CTOR_CALL">
                  SUPER_CTOR_CALL</a>,
                   <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">
                  ENUM_CONSTANT_DEF</a>.
              </td>
              <td>3.4</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="MethodParamPad_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;MethodParamPad&quot;/&gt;
        </source>

        <p>
          To configure the check to require a space after the identifier of a
          method definition, except if the left parenthesis occurs on a new
          line:
        </p>
        <source>
&lt;module name=&quot;MethodParamPad&quot;&gt;
  &lt;property name=&quot;tokens&quot; value=&quot;METHOD_DEF&quot;/&gt;
  &lt;property name=&quot;option&quot; value=&quot;space&quot;/&gt;
  &lt;property name=&quot;allowLineBreaks&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="MethodParamPad_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+MethodParamPad">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+MethodParamPad">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+MethodParamPad">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="MethodParamPad_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22line.previous%22">
            line.previous</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="MethodParamPad_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="MethodParamPad_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="NoLineWrap">
      <p>Since Checkstyle 5.8</p>
      <subsection name="Description" id="NoLineWrap_Description">
        <p>
          Checks that chosen statements are not line-wrapped. By default this
          Check restricts wrapping import and package statements, but it's possible to check
          any statement.
        </p>
      </subsection>

      <subsection name="Properties" id="NoLineWrap_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>
              <td>subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPORT">
                  IMPORT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_IMPORT">
                  STATIC_IMPORT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PACKAGE_DEF">
                  PACKAGE_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CLASS_DEF">
                  CLASS_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_DEF">
                  ENUM_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INTERFACE_DEF">
                  INTERFACE_DEF</a>.
              </td>
              <td><a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PACKAGE_DEF">
                  PACKAGE_DEF</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#IMPORT">
                  IMPORT</a>,
              <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_IMPORT">
                  STATIC_IMPORT</a>.</td>
              <td>5.8</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="NoLineWrap_Examples">
      <p>
        Examples of line-wrapped statements (bad case):
      </p>
      <source>
package com.puppycrawl. //violation
    tools.checkstyle.checks;

import com.puppycrawl.tools. //violation
    checkstyle.api.AbstractCheck;

import static java.math. //violation
    BigInteger.ZERO;
      </source>
      <p>
        To configure the check to force no line-wrapping
        in package and import statements (default values):
      </p>
      <source>
&lt;module name=&quot;NoLineWrap&quot;/&gt;
      </source>
      <p>
        To configure the check to force no line-wrapping only
        in import statements:
      </p>
      <source>
&lt;module name=&quot;NoLineWrap&quot;&gt;
  &lt;property name="tokens" value="IMPORT"/&gt;
&lt;/module&gt;
      </source>
      <p>
        Examples of not line-wrapped statements (good case):
      </p>
      <source>
import com.puppycrawl.tools.checkstyle.api.AbstractCheck;
import static java.math.BigInteger.ZERO;
      </source>
      </subsection>

      <subsection name="Example of Usage" id="NoLineWrap_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoLineWrap">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoLineWrap">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="NoLineWrap_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22no.line.wrap%22">
            no.line.wrap</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="NoLineWrap_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="NoLineWrap_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="NoWhitespaceAfter">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="NoWhitespaceAfter_Description">
        <p>
          Checks that there is no whitespace after a token. More specifically,
          it checks that it is not followed by whitespace, or (if linebreaks
          are allowed) all characters on the line after are whitespace. To
          forbid linebreaks after a token, set property <code>allowLineBreaks</code> to <code>
          false</code>.
        </p>
        <p>
          The check processes
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_DECLARATOR">
              ARRAY_DECLARATOR</a>
          and
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INDEX_OP">INDEX_OP</a>
          tokens specially from other tokens. Actually it is checked that there is
          no whitespace before this tokens, not after them.
          Space after the
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATIONS">
                ANNOTATIONS</a> before
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_DECLARATOR">
                ARRAY_DECLARATOR</a>
          and
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INDEX_OP">
                INDEX_OP</a>
          will be ignored.
          </p>
      </subsection>

      <subsection name="Properties" id="NoWhitespaceAfter_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>allowLineBreaks</td>
              <td>
                Control whether whitespace is allowed if the token is at a linebreak.
              </td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>true</code></td>
              <td>3.0</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_INIT">
                  ARRAY_INIT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#AT">
                  AT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INC">
                  INC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DEC">
                  DEC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#UNARY_MINUS">
                  UNARY_MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#UNARY_PLUS">
                  UNARY_PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BNOT">
                  BNOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LNOT">
                  LNOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">
                  TYPECAST</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_DECLARATOR">
                  ARRAY_DECLARATOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INDEX_OP">
                  INDEX_OP</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SYNCHRONIZED">
                  LITERAL_SYNCHRONIZED</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_REF">
                  METHOD_REF</a>.
              </td>

              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_INIT">
                  ARRAY_INIT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#AT">
                  AT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INC">
                  INC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DEC">
                  DEC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#UNARY_MINUS">
                  UNARY_MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#UNARY_PLUS">
                  UNARY_PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BNOT">
                  BNOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LNOT">
                  LNOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_DECLARATOR">
                  ARRAY_DECLARATOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#INDEX_OP">
                  INDEX_OP</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="NoWhitespaceAfter_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;NoWhitespaceAfter&quot;/&gt;
        </source>

        <p>
          To configure the check to forbid linebreaks after a DOT token:
        </p>
        <source>
&lt;module name=&quot;NoWhitespaceAfter&quot;&gt;
  &lt;property name=&quot;tokens&quot; value=&quot;DOT&quot;/&gt;
  &lt;property name=&quot;allowLineBreaks&quot; value=&quot;false&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
         If the annotation is between the type and the array, the check will skip validation for
         spaces:
        </p>
        <source>
public void foo(final char @NotNull [] param) {} // No violation
        </source>
      </subsection>

      <subsection name="Example of Usage" id="NoWhitespaceAfter_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoWhitespaceAfter">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoWhitespaceAfter">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="NoWhitespaceAfter_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.followed%22">
            ws.followed</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="NoWhitespaceAfter_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="NoWhitespaceAfter_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="NoWhitespaceBefore">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="NoWhitespaceBefore_Description">
        <p>
          Checks that there is no whitespace before a token. More
          specifically, it checks that it is not preceded with whitespace, or
          (if linebreaks are allowed) all characters on the line before are
          whitespace. To allow linebreaks before a token, set property
          <code>allowLineBreaks</code> to <code>true</code>. No check occurs
          before semi-colons in empty for loop initializers or conditions.
        </p>
      </subsection>

      <subsection name="Properties" id="NoWhitespaceBefore_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>allowLineBreaks</td>
              <td>
                Control whether whitespace is allowed if the token is at a linebreak.
              </td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>3.0</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">
                  SEMI</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#POST_INC">
                  POST_INC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#POST_DEC">
                  POST_DEC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_START">
                  GENERIC_START</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_END">
                  GENERIC_END</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">
                  ELLIPSIS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">
                  METHOD_REF</a>.
              </td>
              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">
                  SEMI</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#POST_INC">
                  POST_INC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#POST_DEC">
                  POST_DEC</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">
                  ELLIPSIS</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="NoWhitespaceBefore_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;NoWhitespaceBefore&quot;/&gt;
        </source>

        <p>
          To configure the check to allow linebreaks before a DOT token:
        </p>
        <source>
&lt;module name=&quot;NoWhitespaceBefore&quot;&gt;
  &lt;property name=&quot;tokens&quot; value=&quot;DOT&quot;/&gt;
  &lt;property name=&quot;allowLineBreaks&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="NoWhitespaceBefore_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoWhitespaceBefore">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoWhitespaceBefore">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+NoWhitespaceBefore">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="NoWhitespaceBefore_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="NoWhitespaceBefore_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="NoWhitespaceBefore_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="OperatorWrap">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="OperatorWrap_Description">
        <p>
          Checks the policy on how to wrap lines on operators.
        </p>
      </subsection>

      <subsection name="Properties" id="OperatorWrap_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to wrap lines.</td>
              <td>
                <a href="property_types.html#wrapOp">Wrap Operator Policy</a>
              </td>
              <td><code>nl</code></td>
              <td>3.0</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COLON">
                  COLON</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EQUAL">
                  EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#NOT_EQUAL">
                  NOT_EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV">
                  DIV</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS">
                  PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS">
                  MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR">
                  STAR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD">
                  MOD</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR">
                  SR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR">
                  BSR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GE">
                  GE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GT">
                  GT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL">
                  SL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LE">
                  LE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LT">
                  LT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR">
                  BXOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR">
                  BOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LOR">
                  LOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND">
                  BAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAND">
                  LAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_INSTANCEOF">
                  LITERAL_INSTANCEOF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_EXTENSION_AND">
                  TYPE_EXTENSION_AND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ASSIGN">
                  ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV_ASSIGN">
                  DIV_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS_ASSIGN">
                  PLUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS_ASSIGN">
                  MINUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR_ASSIGN">
                  STAR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD_ASSIGN">
                  MOD_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR_ASSIGN">
                  SR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR_ASSIGN">
                  BSR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL_ASSIGN">
                  SL_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR_ASSIGN">
                  BXOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR_ASSIGN">
                  BOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND_ASSIGN">
                  BAND_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_REF">
                  METHOD_REF</a>.
              </td>

              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COLON">
                  COLON</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EQUAL">
                  EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#NOT_EQUAL">
                  NOT_EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV">
                  DIV</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS">
                  PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS">
                  MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR">
                  STAR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD">
                  MOD</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR">
                  SR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR">
                  BSR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GE">
                  GE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GT">
                  GT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL">
                  SL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LE">
                  LE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LT">
                  LT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR">
                  BXOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR">
                  BOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LOR">
                  LOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND">
                  BAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAND">
                  LAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_EXTENSION_AND">
                  TYPE_EXTENSION_AND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_INSTANCEOF">
                  LITERAL_INSTANCEOF</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="OperatorWrap_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;OperatorWrap&quot;/&gt;
        </source>

        <p>
          To configure the check for assignment operators at the end of a line:
        </p>
        <source>
&lt;module name=&quot;OperatorWrap&quot;&gt;
  &lt;property name="tokens"
    value="ASSIGN,DIV_ASSIGN,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,MOD_ASSIGN,
           SR_ASSIGN,BSR_ASSIGN,SL_ASSIGN,BXOR_ASSIGN,BOR_ASSIGN,BAND_ASSIGN"/&gt;
  &lt;property name="option" value="eol"/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="OperatorWrap_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+OperatorWrap">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+OperatorWrap">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+OperatorWrap">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="OperatorWrap_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22line.new%22">
            line.new</a>
          </li>
        </ul>
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22line.previous%22">
            line.previous</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="OperatorWrap_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="OperatorWrap_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="ParenPad">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="ParenPad_Description">
        <p>
          Checks the policy on the padding of parentheses; that is whether a
          space is required after a left parenthesis and before a right
          parenthesis, or such spaces are forbidden. No check occurs at
          the right parenthesis after an empty for iterator, at the left
          parenthesis before an empty for initialization, or at the right
          parenthesis of a try-with-resources resource specification where
          the last resource variable has a trailing semi-colon.
          Use Check <a href="config_whitespace.html#EmptyForIteratorPad">
          EmptyForIteratorPad</a> to validate empty for iterators and
          <a href="config_whitespace.html#EmptyForInitializerPad">
          EmptyForInitializerPad</a> to validate empty for initializers.
          Typecasts are also not checked, as there is
          <a href="config_whitespace.html#TypecastParenPad">
          TypecastParenPad</a> to validate them.
        </p>
      </subsection>

      <subsection name="Properties" id="ParenPad_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to pad parentheses.</td>
              <td><a href="property_types.html#parenPad">Pad Policy</a></td>
              <td><code>nospace</code></td>
              <td>3.0</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION">
                  ANNOTATION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">
                  ANNOTATION_FIELD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_CALL">
                  CTOR_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">
                  ENUM_CONSTANT_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EXPR">
                  EXPR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_CATCH">
                  LITERAL_CATCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">
                  LITERAL_NEW</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SWITCH">
                  LITERAL_SWITCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SYNCHRONIZED">
                  LITERAL_SYNCHRONIZED</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_CALL">
                  METHOD_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RESOURCE_SPECIFICATION">
                  RESOURCE_SPECIFICATION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SUPER_CTOR_CALL">
                  SUPER_CTOR_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">
                  LAMBDA</a>.
              </td>

              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION">
                  ANNOTATION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ANNOTATION_FIELD_DEF">
                  ANNOTATION_FIELD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_CALL">
                  CTOR_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#CTOR_DEF">
                  CTOR_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ENUM_CONSTANT_DEF">
                  ENUM_CONSTANT_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EXPR">
                  EXPR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_CATCH">
                  LITERAL_CATCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_NEW">
                  LITERAL_NEW</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SWITCH">
                  LITERAL_SWITCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SYNCHRONIZED">
                  LITERAL_SYNCHRONIZED</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_CALL">
                  METHOD_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_DEF">
                  METHOD_DEF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RESOURCE_SPECIFICATION">
                  RESOURCE_SPECIFICATION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SUPER_CTOR_CALL">
                  SUPER_CTOR_CALL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">
                  LAMBDA</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="ParenPad_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;ParenPad&quot;/&gt;
        </source>

        <p>
          To configure the check to require spaces for the parentheses of
          constructor, method, and super constructor calls:
        </p>
        <source>
&lt;module name=&quot;ParenPad&quot;&gt;
  &lt;property name=&quot;tokens&quot; value=&quot;CTOR_CALL, METHOD_CALL,
    SUPER_CTOR_CALL&quot;/&gt;
  &lt;property name=&quot;option&quot; value=&quot;space&quot;/&gt;
&lt;/module&gt;
        </source>

        <p>
          The following cases not checked:
        </p>
        <source>
for ( ; i &lt; j; i++, j--) // no check after left parenthesis
for (Iterator it = xs.iterator(); it.hasNext(); ) // no check before right parenthesis
try (Closeable resource = acquire(); ) // no check before right parenthesis
        </source>

      </subsection>

      <subsection name="Example of Usage" id="ParenPad_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+ParenPad">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+ParenPad">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+ParenPad">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="ParenPad_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.followed%22">
            ws.followed</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notFollowed%22">
            ws.notFollowed</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="ParenPad_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="ParenPad_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="SeparatorWrap">
      <p>Since Checkstyle 5.8</p>
      <subsection name="Description" id="SeparatorWrap_Description">
        <p>
          Checks line wrapping with separators.
        </p>
      </subsection>

      <subsection name="Properties" id="SeparatorWrap_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to wrap lines.</td>
              <td>
                <a href="property_types.html#wrapOp">Wrap Operator Policy</a>
              </td>
              <td><code>eol</code></td>
              <td>5.8</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">
                  SEMI</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">
                  ELLIPSIS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#AT">
                  AT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LPAREN">
                  LPAREN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RPAREN">
                  RPAREN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_DECLARATOR">
                  ARRAY_DECLARATOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RBRACK">
                  RBRACK</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_REF">
                  METHOD_REF</a>.
              </td>

              <td>
               <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DOT">
                  DOT</a>,
               <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>.
              </td>
              <td>5.8</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="SeparatorWrap_Examples">
        <p>
          Code example for comma and dot at the new line:
        </p>
        <source>
s
    .isEmpty();
foo(i
    ,s);
        </source>
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name="SeparatorWrap"/&gt;
        </source>
        <p>
          Code example for comma and dot at the previous line:
        </p>
        <source>
s.
    isEmpty();
foo(i,
    s);
        </source>
        <p>
          Example for checking method reference at new line (good case and bad case):
        </p>
        <source>
Arrays.sort(stringArray, String:: // violation
    compareToIgnoreCase);
Arrays.sort(stringArray, String
    ::compareToIgnoreCase); // good
        </source>
        <p>
          To configure the check for
          <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#METHOD_REF">
            METHOD_REF</a> at new line:
        </p>
        <source>
&lt;module name="SeparatorWrap"&gt;
  &lt;property name="tokens" value="METHOD_REF"/&gt;
  &lt;property name="option" value="nl"/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check for comma at the new line:
        </p>
        <source>
&lt;module name="SeparatorWrap"&gt;
  &lt;property name="tokens" value="COMMA"/&gt;
  &lt;property name="option" value="nl"/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="SeparatorWrap_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+SeparatorWrap">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+SeparatorWrap">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="SeparatorWrap_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22line.new%22">
            line.new</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22line.previous%22">
            line.previous</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="SeparatorWrap_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="SeparatorWrap_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="SingleSpaceSeparator">
      <p>Since Checkstyle 6.19</p>
      <subsection name="Description" id="SingleSpaceSeparator_Description">
        <p>
          Checks that non-whitespace characters are separated by no more than one
          whitespace. Separating characters by tabs or multiple spaces will be
          reported. Currently the check doesn't permit horizontal alignment. To inspect
          whitespaces before and after comments, set the property
          <code>validateComments</code> to true.
        </p>

        <p>
          Setting <code>validateComments</code> to false will ignore cases like:
        </p>

        <source>
int i;  // Multiple whitespaces before comment tokens will be ignored.
private void foo(int  /* whitespaces before and after block-comments will be
ignored */  i) {
        </source>

        <p>
          Sometimes, users like to space similar items on different lines to the same
          column position for easier reading. This feature isn't supported by this
          check, so both braces in the following case will be reported as violations.
        </p>

        <source>
public long toNanos(long d)  { return d;             } // 2 violations
public long toMicros(long d) { return d / (C1 / C0); }
        </source>
      </subsection>

      <subsection name="Properties" id="SingleSpaceSeparator_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>validateComments</td>
              <td>Control whether to validate whitespaces surrounding comments.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>6.19</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="SingleSpaceSeparator_Examples">
        <p>
          To configure the check:
        </p>

        <source>
&lt;module name=&quot;SingleSpaceSeparator&quot;/&gt;
        </source>

        <p>
          To configure the check so that it validates comments:
        </p>

        <source>
&lt;module name=&quot;SingleSpaceSeparator&quot;&gt;
  &lt;property name=&quot;validateComments&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="SingleSpaceSeparator_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+SingleSpaceSeparator">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="SingleSpaceSeparator_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22single.space.separator%22">
            single.space.separator</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="SingleSpaceSeparator_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="SingleSpaceSeparator_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="TypecastParenPad">
      <p>Since Checkstyle 3.2</p>
      <subsection name="Description" id="TypecastParenPad_Description">
        <p>
          Checks the policy on the padding of parentheses for typecasts. That
          is, whether a space is required after a left parenthesis and before
          a right parenthesis, or such spaces are forbidden.
        </p>
      </subsection>

      <subsection name="Properties" id="TypecastParenPad_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>option</td>
              <td>Specify policy on how to pad parentheses.</td>
              <td><a href="property_types.html#parenPad">Pad Policy</a></td>
              <td><code>nospace</code></td>
              <td>3.2</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="TypecastParenPad_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;TypecastParenPad&quot;/&gt;
        </source>

        <p>
          To configure the check to require spaces:
        </p>
        <source>
&lt;module name=&quot;TypecastParenPad&quot;&gt;
  &lt;property name=&quot;option&quot; value=&quot;space&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="TypecastParenPad_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+TypecastParenPad">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+TypecastParenPad">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="TypecastParenPad_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.followed%22">
            ws.followed</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notFollowed%22">
            ws.notFollowed</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.preceded%22">
            ws.preceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="TypecastParenPad_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="TypecastParenPad_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="WhitespaceAfter">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="WhitespaceAfter_Description">
        <p>
          Checks that a token is followed by whitespace, with the exception that it
          does not check for whitespace after the semicolon of an empty for iterator. Use Check
          <a href="config_whitespace.html#EmptyForIteratorPad">
          EmptyForIteratorPad</a> to validate empty for iterators.
        </p>
      </subsection>

      <subsection name="Properties" id="WhitespaceAfter_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">
                  SEMI</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">
                  TYPECAST</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">
                  LITERAL_ELSE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  DO_WHILE</a>.
              </td>

              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COMMA">
                  COMMA</a>,
                 <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">
                  SEMI</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">
                  TYPECAST</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">
                  LITERAL_ELSE</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                  <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  DO_WHILE</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="WhitespaceAfter_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAfter&quot;/&gt;
        </source>

        <p>
          To configure the check for whitespace only after COMMA and SEMI
          tokens:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAfter&quot;&gt;
  &lt;property name=&quot;tokens&quot; value=&quot;COMMA, SEMI&quot;/&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="WhitespaceAfter_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+WhitespaceAfter">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+WhitespaceAfter">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="WhitespaceAfter_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notFollowed%22">
            ws.notFollowed</a>
          </li>
        </ul>
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.typeCast%22">
            ws.typeCast</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="WhitespaceAfter_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="WhitespaceAfter_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

    <section name="WhitespaceAround">
      <p>Since Checkstyle 3.0</p>
      <subsection name="Description" id="WhitespaceAround_Description">
        <p>
        Checks that a token is surrounded by whitespace. Empty constructor,
        method, class, enum, interface, loop bodies (blocks), lambdas of the form
        </p>

        <source>public MyClass() {}      // empty constructor
public void func() {}    // empty method
public interface Foo {} // empty interface
public class Foo {} // empty class
public enum Foo {} // empty enum
MyClass c = new MyClass() {}; // empty anonymous class
while (i = 1) {} // empty while loop
for (int i = 1; i > 1; i++) {} // empty for loop
do {} while (i = 1); // empty do-while loop
Runnable noop = () -> {}; // empty lambda
public @interface Beta {} // empty annotation type
        </source>

        <p>
        may optionally be exempted from the policy using the <code>
        allowEmptyMethods</code>, <code>allowEmptyConstructors
        </code>, <code>allowEmptyTypes</code>, <code>allowEmptyLoops</code>,
        <code>allowEmptyLambdas</code> and <code>allowEmptyCatches</code>
        properties.
        </p>
        <p>This check does not flag as violation double brace initialization like:</p>
        <div class="wrapper">
          <pre><code>
new Properties() {{
    setProperty("key", "value");
}};
          </code></pre>
        </div>
        <p>Parameter allowEmptyCatches allows to suppress violations when token
        list contains SLIST to check if beginning of block is surrounded by
        whitespace and catch block is empty, for example:</p>
        <div class="wrapper">
          <pre><code>
try {
    k = 5 / i;
} catch (ArithmeticException ex) {}
          </code></pre>
        </div>
      <p>
        With this property turned off, this raises violation because the beginning of the
        catch block (left curly bracket) is not separated from the end of the catch
        block (right curly bracket).
      </p>
      </subsection>

      <subsection name="Properties" id="WhitespaceAround_Properties">
        <div class="wrapper">
          <table>
            <tr>
              <th>name</th>
              <th>description</th>
              <th>type</th>
              <th>default value</th>
              <th>since</th>
            </tr>
            <tr>
              <td>allowEmptyConstructors</td>
              <td>Allow empty constructor bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>4.0</td>
            </tr>
            <tr>
              <td>allowEmptyMethods</td>
              <td>Allow empty method bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>4.0</td>
            </tr>
            <tr>
              <td>allowEmptyTypes</td>
              <td>Allow empty class, interface and enum bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>5.8</td>
            </tr>
            <tr>
              <td>allowEmptyLoops</td>
              <td>Allow empty loop bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>5.8</td>
            </tr>
            <tr>
              <td>allowEmptyLambdas</td>
              <td>Allow empty lambda bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>6.14</td>
            </tr>
            <tr>
              <td>allowEmptyCatches</td>
              <td>Allow empty catch bodies.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>false</code></td>
              <td>7.6</td>
            </tr>
            <tr>
              <td>ignoreEnhancedForColon</td>
              <td>Ignore whitespace around colon in
                <a href="https://docs.oracle.com/javase/specs/jls/se11/html/jls-14.html#jls-14.14.2">
                  enhanced for</a> loop.</td>
              <td><a href="property_types.html#boolean">Boolean</a></td>
              <td><code>true</code></td>
              <td>5.5</td>
            </tr>
            <tr>
              <td>tokens</td>
              <td>tokens to check</td>

              <td>
                subset of tokens
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ASSIGN">
                  ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ARRAY_INIT">
                  ARRAY_INIT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND">
                  BAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND_ASSIGN">
                  BAND_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR">
                  BOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR_ASSIGN">
                  BOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR">
                  BSR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR_ASSIGN">
                  BSR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR">
                  BXOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR_ASSIGN">
                  BXOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COLON">
                  COLON</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV">
                  DIV</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV_ASSIGN">
                  DIV_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DO_WHILE">
                  DO_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EQUAL">
                  EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GE">
                  GE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GT">
                  GT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">
                  LAMBDA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAND">
                  LAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LCURLY">
                  LCURLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LE">
                  LE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_CATCH">
                  LITERAL_CATCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">
                  LITERAL_ELSE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FINALLY">
                  LITERAL_FINALLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_RETURN">
                  LITERAL_RETURN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SWITCH">
                  LITERAL_SWITCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SYNCHRONIZED">
                  LITERAL_SYNCHRONIZED</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_TRY">
                  LITERAL_TRY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LOR">
                  LOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LT">
                  LT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS">
                  MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS_ASSIGN">
                  MINUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD">
                  MOD</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD_ASSIGN">
                  MOD_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#NOT_EQUAL">
                  NOT_EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS">
                  PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS_ASSIGN">
                  PLUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RCURLY">
                  RCURLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL">
                  SL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SLIST">
                  SLIST</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL_ASSIGN">
                  SL_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR">
                  SR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR_ASSIGN">
                  SR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR">
                  STAR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR_ASSIGN">
                  STAR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ASSERT">
                  LITERAL_ASSERT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_EXTENSION_AND">
                  TYPE_EXTENSION_AND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#WILDCARD_TYPE">
                  WILDCARD_TYPE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_START">
                  GENERIC_START</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GENERIC_END">
                  GENERIC_END</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ELLIPSIS">
                  ELLIPSIS</a>.
              </td>
              <td>
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#ASSIGN">
                  ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND">
                  BAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BAND_ASSIGN">
                  BAND_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR">
                  BOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BOR_ASSIGN">
                  BOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR">
                  BSR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BSR_ASSIGN">
                  BSR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR">
                  BXOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#BXOR_ASSIGN">
                  BXOR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#COLON">
                  COLON</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV">
                  DIV</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DIV_ASSIGN">
                  DIV_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DO_WHILE">
                  DO_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#EQUAL">
                  EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GE">
                  GE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#GT">
                  GT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">
                  LAMBDA</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAND">
                  LAND</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LCURLY">
                  LCURLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LE">
                  LE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_CATCH">
                  LITERAL_CATCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">
                  LITERAL_DO</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">
                  LITERAL_ELSE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FINALLY">
                  LITERAL_FINALLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">
                  LITERAL_FOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">
                  LITERAL_IF</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_RETURN">
                  LITERAL_RETURN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SWITCH">
                  LITERAL_SWITCH</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_SYNCHRONIZED">
                  LITERAL_SYNCHRONIZED</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_TRY">
                  LITERAL_TRY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">
                  LITERAL_WHILE</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LOR">
                  LOR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LT">
                  LT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS">
                  MINUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MINUS_ASSIGN">
                  MINUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD">
                  MOD</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#MOD_ASSIGN">
                  MOD_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#NOT_EQUAL">
                  NOT_EQUAL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS">
                  PLUS</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#PLUS_ASSIGN">
                  PLUS_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#QUESTION">
                  QUESTION</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#RCURLY">
                  RCURLY</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL">
                  SL</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SLIST">
                  SLIST</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SL_ASSIGN">
                  SL_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR">
                  SR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SR_ASSIGN">
                  SR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR">
                  STAR</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STAR_ASSIGN">
                  STAR_ASSIGN</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ASSERT">
                  LITERAL_ASSERT</a>,
                <a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPE_EXTENSION_AND">
                  TYPE_EXTENSION_AND</a>.
              </td>
              <td>3.0</td>
            </tr>
          </table>
        </div>
      </subsection>

      <subsection name="Examples" id="WhitespaceAround_Examples">
        <p>
          To configure the check:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;/&gt;
        </source>
        <p>
          To configure the check for whitespace only around assignment operators:
        </p>
        <source>
&lt;module name="WhitespaceAround"&gt;
  &lt;property name="tokens"
    value="ASSIGN,DIV_ASSIGN,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,
           MOD_ASSIGN,SR_ASSIGN,BSR_ASSIGN,SL_ASSIGN,BXOR_ASSIGN,
           BOR_ASSIGN,BAND_ASSIGN"/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check for whitespace only around curly braces:
        </p>
        <source>
&lt;module name="WhitespaceAround"&gt;
  &lt;property name="tokens" value="LCURLY,RCURLY"/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty method bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyMethods&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty constructor bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyConstructors&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty type bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyTypes&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty loop bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyLoops&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty lambda bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyLambdas&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          To configure the check to allow empty catch bodies:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name=&quot;allowEmptyCatches&quot; value=&quot;true&quot;/&gt;
&lt;/module&gt;
        </source>
        <p>
          Also, this check can be configured to ignore the colon in an enhanced for loop.
          The colon in an enhanced for loop is ignored by default.
        </p>
        <p>
          To configure the check to ignore the colon:
        </p>
        <source>
&lt;module name=&quot;WhitespaceAround&quot;&gt;
  &lt;property name="ignoreEnhancedForColon" value="true" /&gt;
&lt;/module&gt;
        </source>
      </subsection>

      <subsection name="Example of Usage" id="WhitespaceAround_Example_of_Usage">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Agoogle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+WhitespaceAround">
            Google Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources+filename%3Asun_checks.xml+repo%3Acheckstyle%2Fcheckstyle+WhitespaceAround">
            Sun Style</a>
          </li>
          <li>
            <a href="https://github.com/search?q=path%3Aconfig+filename%3Acheckstyle_checks.xml+repo%3Acheckstyle%2Fcheckstyle+WhitespaceAround">
            Checkstyle Style</a>
          </li>
        </ul>
      </subsection>

      <subsection name="Violation Messages" id="WhitespaceAround_Violation_Messages">
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notFollowed%22">
            ws.notFollowed</a>
          </li>
        </ul>
        <ul>
          <li>
            <a href="https://github.com/search?q=path%3Asrc%2Fmain%2Fresources%2Fcom%2Fpuppycrawl%2Ftools%2Fcheckstyle%2Fchecks%2Fwhitespace+filename%3Amessages*.properties+repo%3Acheckstyle%2Fcheckstyle+%22ws.notPreceded%22">
            ws.notPreceded</a>
          </li>
        </ul>
        <p>
          All messages can be customized if the default message doesn't suit you.
          Please <a href="config.html#Custom_messages">see the documentation</a> to learn how to.
        </p>
      </subsection>

      <subsection name="Package" id="WhitespaceAround_Package">
        <p>
          com.puppycrawl.tools.checkstyle.checks.whitespace
        </p>
      </subsection>

      <subsection name="Parent Module" id="WhitespaceAround_Parent_Module">
        <p>
          <a href="config.html#TreeWalker">TreeWalker</a>
        </p>
      </subsection>
    </section>

  </body>
</document>
