public static int indexOfIgnoreCase(String longer, int skip, String shorter) {
		char chInShorter = shorter.charAt(0);
		int indexOf = longer.indexOf(chInShorter, skip);
		if (indexOf == -1 && chInShorter <= 'z') {
			char switchCaseHead = Character.isLowerCase(chInShorter)
					? Character.toUpperCase(chInShorter)
					: Character.toLowerCase(chInShorter);
			indexOf = longer.indexOf(switchCaseHead, skip);
		}
		
		if (indexOf == -1) return -1;
		if (equalsIgnoreCaseInString(longer, indexOf, shorter, 0)) {
			return indexOf;
		} else {
			return indexOfIgnoreCase(longer, skip + shorter.length(), shorter);
		}
	}