code: static boolean equalsIgnoreCase(final CharSequence str1, final CharSequence str2) {
  		if(str1==str2) {
  			return true;
  		} else if(str1==null||str2==null) {
  			return false;
  		} else if(str1.length()!=str2.length()) {
  			return false;
  		} else {
  			return regionMatches(str1,true,0,str2,0,str1.length());
  		}
  	}
docs: <p>
  Compares two CharSequences, returning {@code true} if they represent
  equal sequences of characters, ignoring case.
  </p>
  
  <p>
  {@code null}s are handled without exceptions. Two {@code null}
  references are considered equal. Comparison is case insensitive.
  </p>
  
  <pre>
  equalsIgnoreCase(null, null)   = true
  equalsIgnoreCase(null, "abc")  = false
  equalsIgnoreCase("abc", null)  = false
  equalsIgnoreCase("abc", "abc") = true
  equalsIgnoreCase("abc", "ABC") = true
  </pre>
  
  @param str1
  the first CharSequence, may be {@code null}
  @param str2
  the second CharSequence, may be {@code null}
  @return {@code true} if the CharSequence are equal, case insensitive,
  or both {@code null}; {@code false} otherwise