final public boolean startsWithIgnoreCase(final MutableString prefix){
  final int l=prefix.length();
  if (l > length())   return false;
  int i=l;
  final char[] a1=prefix.array;
  final char[] a2=array;
  char c, d;
  while (i-- != 0) {
    c=Character.toLowerCase(Character.toUpperCase(a1[i]));
    d=Character.toLowerCase(Character.toUpperCase(a2[i]));
    if (c != d)     return false;
  }
  return true;
}

final public boolean startsWithIgnoreCase ( final MutableString prefix ) { final int l = prefix . length ( ) ; if ( l > length ( ) ) return false ; int i = l ; final char [ ] a1 = prefix . array ; final char [ ] a2 = array ; char c , d ; while ( i -- != 0 ) { c = Character . toLowerCase ( Character . toUpperCase ( a1 [ i ] ) ) ; d = Character . toLowerCase ( Character . toUpperCase ( a2 [ i ] ) ) ; if ( c != d ) return false ; } return true ; }
returns whether this mutable string starts with the given mutable string disregarding case .
