final public boolean equalsIgnoreCase(final MutableString s){
  if (this == s)   return true;
  if (s == null)   return false;
  final int n=length();
  if (n == s.length()) {
    final char[] a1=array;
    final char[] a2=s.array;
    for (int i=0; i < n; i++) {
      if (a1[i] != a2[i] && Character.toLowerCase(a1[i]) != Character.toLowerCase(a2[i]) && Character.toUpperCase(a1[i]) != Character.toUpperCase(a2[i]))       return false;
    }
    return true;
  }
  return false;
}

final public boolean equalsIgnoreCase ( final MutableString s ) { if ( this == s ) return true ; if ( s == null ) return false ; final int n = length ( ) ; if ( n == s . length ( ) ) { final char [ ] a1 = array ; final char [ ] a2 = s . array ; for ( int i = 0 ; i < n ; i ++ ) { if ( a1 [ i ] != a2 [ i ] && Character . toLowerCase ( a1 [ i ] ) != Character . toLowerCase ( a2 [ i ] ) && Character . toUpperCase ( a1 [ i ] ) != Character . toUpperCase ( a2 [ i ] ) ) return false ; } return true ; } return false ; }
checks two mutable strings for equality ignoring case .
