final public boolean endsWithIgnoreCase(final String suffix){
  final int l=suffix.length();
  int length=length();
  if (l > length)   return false;
  int i=l;
  final char[] a=array;
  char c, d;
  while (i-- != 0) {
    c=Character.toLowerCase(Character.toUpperCase(suffix.charAt(i)));
    d=Character.toLowerCase(Character.toUpperCase(a[--length]));
    if (c != d)     return false;
  }
  return true;
}

final public boolean endsWithIgnoreCase ( final String suffix ) { final int l = suffix . length ( ) ; int length = length ( ) ; if ( l > length ) return false ; int i = l ; final char [ ] a = array ; char c , d ; while ( i -- != 0 ) { c = Character . toLowerCase ( Character . toUpperCase ( suffix . charAt ( i ) ) ) ; d = Character . toLowerCase ( Character . toUpperCase ( a [ -- length ] ) ) ; if ( c != d ) return false ; } return true ; }
returns whether this mutable string ends with the given string disregarding case .
