Bug 58509 [spell checking] ConcurrentModif.Exception in spelling plugin
20040407 Got this printed in the console (not .log!) java.util.ConcurrentModificationException at java.lang.Throwable.<init>(Throwable.java) at java.util.HashMap$HashIterator.nextEntry(HashMap.java) at java.util.HashMap$KeyIterator.next(HashMap.java) at org.eclipse.jdt.internal.ui.text.spelling.engine.DefaultSpellChecker. fireEvent(DefaultSpellChecker.java) at org.eclipse.jdt.internal.ui.text.spelling.engine.DefaultSpellChecker. execute(DefaultSpellChecker.java) at org.eclipse.jdt.internal.ui.text.spelling.SpellReconcileStrategy.reco ncile(SpellReconcileStrategy.java) at org.eclipse.jface.text.reconciler.CompositeReconcilingStrategy.reconc ile(CompositeReconcilingStrategy.java) at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.rec oncile(JavaCompositeReconcilingStrategy.java) at org.eclipse.jface.text.reconciler.MonoReconciler.process (MonoReconcil er.java) at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread .run(AbstractReconciler.java)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/engine/DefaultSpellChecker.java
* Does this word contain mixed-case letters?
	 * 
	 * @param word
	 *                   The word to check
	 * @param sentence
	 *                   <code>true</code> iff the specified word starts a new
	 *                   sentence, <code>false</code> otherwise
	 * @return <code>true</code> iff the contains mixed-case letters, <code>false</code>
	 *               otherwise
	 */
	protected static boolean isMixedCase(final String word, final boolean sentence) {
		final int length= word.length();
		boolean upper= Character.isUpperCase(word.charAt(0));
		if (sentence && upper && (length > 1))
			upper= Character.isUpperCase(word.charAt(1));
		if (upper) {
			for (int index= length - 1; index > 0; index--) {
				if (Character.isLowerCase(word.charAt(index)))
					return true;
			}
		} else {
			for (int index= length - 1; index > 0; index--) {
				if (Character.isUpperCase(word.charAt(index)))
					return true;
			}
		}
		return false;
	}
	/**
	 * Does this word contain upper-case letters only?