return CodeFormatterUtil.removeLeadingIndents(result);
int pos= fSelectionStart + fSelectionLength; TextRegion region= buffer.getLineInformationOfOffset(pos); if (region.getOffset() == pos) result= result + delimiter;  region= buffer.getLineInformationOfOffset(fSelectionStart); String selectedLine= buffer.getContent(region.getOffset(), fSelectionStart - region.getOffset()); int indent= CodeFormatterUtil.getIndent(selectedLine); return CodeFormatterUtil.removeIndent(result,  indent, CodeFormatterUtil.getTabWidth());
	private String createCall(TextBuffer buffer, String delimiter) {		int firstLineIndent= CodeFormatterUtil.getIndent(buffer.getLineContentOfOffset(fSelectionStart));		StringBuffer code= new StringBuffer();				IVariableBinding[] locals= fAnalyzer.getCallerLocals();		for (int i= 0; i < locals.length; i++) {			appendLocalDeclaration(code, locals[i]);			code.append(SEMICOLON);			code.append(delimiter);		}						int returnKind= fAnalyzer.getReturnKind();		switch (returnKind) {			case ExtractMethodAnalyzer.ACCESS_TO_LOCAL:				IVariableBinding binding= fAnalyzer.getReturnLocal();				if (binding != null) {					appendLocalDeclaration(code, binding);				} else {					binding= fAnalyzer.getReturnValue();					code.append(binding.getName());				}				code.append(" = ");				break;			case ExtractMethodAnalyzer.RETURN_STATEMENT_VALUE:				// We return a value. So the code must look like "return extracted();"				code.append(RETURN_BLANK);				break;		}				IVariableBinding[] arguments= fAnalyzer.getArguments();		code.append(fMethodName);		code.append("("); //$NON-NLS-1$		for (int i= 0; i < arguments.length; i++) {			if (arguments[i] == null)				continue;			if (i > 0)				code.append(COMMA_BLANK);			code.append(arguments[i].getName());		}				code.append(")"); //$NON-NLS-1$								if (callNeedsSemicolon())			code.append(SEMICOLON);					// We have a void return statement. The code looks like		// extracted();		// return;			if (returnKind == ExtractMethodAnalyzer.RETURN_STATEMENT_VOID) {			code.append(delimiter);			code.append(RETURN);			code.append(SEMICOLON);		}				ICodeFormatter formatter= ToolFactory.createCodeFormatter();		String result= formatter.format(code.toString(), firstLineIndent, null, delimiter);		return CodeFormatterUtil.removeLeadingIndents(result);	}