Bug 50386 Autoindent/Smart Tab in case statement
1: case SWT.TRAVERSE_ESCAPE : 2: fTableViewer.cancelEditing(); 3: e.doit= true; Pressing Tab at beginning of line 3 removes one tab character from line 3. It shouldn't. Same indentation error for Smart Return, Correct Indentation, ... for all lines which are 2+ lines after the case keyword.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/JavaIndenter.java
StringBuffer ret= new StringBuffer();
		while (indent-- > 0)
			ret.append(oneIndent);
		
		return ret;
	}
	
	/**
	 * Creates a string that represents one indent (can be
	 * spaces or tabs..)
	 * 
	 * @return one indentation
	 */
	private StringBuffer createIndent() {
		
		StringBuffer oneIndent= new StringBuffer();
		JavaCore plugin= JavaCore.getJavaCore();
		if (plugin == null) {
			oneIndent.append('\t');
		} else {
			if (JavaCore.SPACE.equals(JavaCore.getOption(JavaCore.FORMATTER_TAB_CHAR))) {
				int tabLen= Integer.parseInt(JavaCore.getOption(JavaCore.FORMATTER_TAB_SIZE));
				for (int i= 0; i < tabLen; i++)
					oneIndent.append(' ');
			} else if (JavaCore.TAB.equals(JavaCore.getOption(JavaCore.FORMATTER_TAB_CHAR)))
				oneIndent.append('\t');
			else
				oneIndent.append('\t'); 
		}
		return oneIndent;