private boolean isMatch(final char current, final Element element) {
	
		boolean rv = false;
		
		if (element.isSpecial) {
			switch(element.item) {
				case '.':
					rv = true;
					break;
				case 'd':
					rv = Character.isDigit(current);
					break;
				case 'D':
					rv = !Character.isDigit(current);
					break;
				case 's':
					rv = Character.isWhitespace(current);
					break;
				case 'S':
					rv = !Character.isWhitespace(current);
					break;
				case 'w':
					rv = Character.isLetter(current);
					break;
				case 'W':
					rv = !Character.isLetter(current);
					break;
			}
		} else {
			rv = element.item == current;
		}
		
		if ((options & Transliteration.OPTION_COMPLEMENT) == Transliteration.OPTION_COMPLEMENT) {
			rv = !rv;
		}
		
		return rv;
	}