if (returnStatement != null) { result.append(indent); result.append(returnStatement); result.append(delimiter); }
addLine(result, indent, returnStatement, delimiter);
	private String computeSource(ITextBuffer buffer, String indent, String delimiter) {		LocalVariableAnalyzer localAnalyzer= fStatementAnalyzer.getLocalVariableAnalyzer();		final String EMPTY_LINE= "";				StringBuffer result= new StringBuffer();		String[] lines= buffer.convertIntoLines(fSelectionStart, fSelectionLength);				// Format the first line with the right indent.		String firstLine= buffer.getLineContentOfOffset(fSelectionStart);		int firstLineIndent= TextUtilities.getIndent(firstLine, fTabWidth);		if (lines.length > 0)			lines[0]= TextUtilities.createIndentString(firstLineIndent) + TextUtilities.removeLeadingIndents(lines[0], fTabWidth);				// Compute the minimal indent.			int minIndent= Integer.MAX_VALUE;		for (int i= 0; i < lines.length; i++) {			String line= lines[i];			if (line.length() == 0 && i + 1 == lines.length) {				lines[i]= null;			} else if (!TextUtilities.containsOnlyWhiteSpaces(lines[i])) {				minIndent= Math.min(TextUtilities.getIndent(lines[i], fTabWidth), minIndent);			} else {				lines[i]= EMPTY_LINE;			}						}				// Remove the indent.		if (minIndent > 0) {			for (int i= 0; i < lines.length; i++) {				String line= lines[i];				if (line != null && line != EMPTY_LINE)					lines[i]= TextUtilities.removeIndent(minIndent, line, fTabWidth);			}		}				// Reformat and add to buffer		boolean isFirstLine= true;		for (int i= 0; i < lines.length; i++) {			String line= lines[i];			if (line != null) {				if (!isFirstLine)					result.append(delimiter);				else					isFirstLine= false;							result.append(indent);				result.append(line);			}		}		if (sourceNeedsSemicolon())			result.append(";");		result.append(delimiter);					String returnStatement= localAnalyzer.getReturnStatement();		if (returnStatement != null) {			result.append(indent);			result.append(returnStatement);			result.append(delimiter);		}		return result.toString();	}