title: Is a boolean property name prefixed by "is" still a valid Java Bean?
body: <p>I just noticed something I didn't know.</p>
  
  <pre><code>  private boolean isCertified;
  
    public boolean isCertified() {
      return isCertified;
    }
  
    public void setCertified(boolean certified) {
      isCertified = certified;
    }
  </code></pre>
  
  <p>The following getters and setters have been generated by Intellij. By the way, Lombok generate the same kind of getters and setters.</p>
  
  <p>I would have expected something like:</p>
  
  <pre><code>  private boolean isCertified;
  
    public boolean isIsCertified() {
      return isCertified;
    }
  
    public void setIsCertified(boolean certified) {
      isCertified = certified;
    }
  </code></pre>
  
  <p>That's why I usually don't prefix my boolean attributes with <code>ìs</code>, despites the fact I think the property name becomes more readable.</p>
  
  <p>I normally write something like:</p>
  
  <pre><code>  private boolean certified;
  
    public boolean isCertified() {
      return certified;
    }
  
    public void setCertified(boolean certified) {
      certified = certified;
    }
  </code></pre>
  
  <hr>
  
  <p>So I wonder: </p>
  
  <ul>
  <li><p><strong>Having a property named <code>isXXX</code> and a getter being <code>isXXX</code> instead of <code>isIsXXX</code>: is it a valid Java Bean definition?</strong></p></li>
  <li><p><strong>Are there any other hidden Java Bean corner cases like that, that I may want to know to improve the code readability?</strong> </p></li>
  </ul>
  
  <p>Thanks</p>