Bug 43032 Autoindent/Smart Tab in case statement
... case label: { <press Enter here> I <new cursor position> Indentation level should be one less.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
* 
	 * @return the indentation corresponding to the document content specified by <code>start</code>
	 * and <code>indent</code>
	 */
	private String createIndent(int start, int indent) {
		int tabLen;
		if (JavaPlugin.getDefault() != null)
			tabLen= CodeFormatterUtil.getTabWidth();
		else
			tabLen= 4;
		
		StringBuffer ret= new StringBuffer();
		try {
			int spaces= 0;
			while (start < indent) {
				
				char ch= fDocument.getChar(start);
				if (ch == '\t') {
					ret.append('\t');
					spaces= 0;
				} else {
					spaces++;
					if (spaces == tabLen) {
						ret.append('\t');
						spaces= 0;
					}
				}
				
				start++;
			}