if (positions != null) formatter.setPositionsToMap(positions);
	public String format(String content, boolean isLineStart, String indentation, int[] positions) {				ConfigurableOption[] options = JavaPlugin.getDefault().getCodeFormatterOptions();		boolean clearAllNewlines = false;		for (int i=0; i < options.length; i++)		{ 			if (options[i].getID() == CLEAR_ALL_NEWLINES_OPTION)			{				clearAllNewlines = options[i].getCurrentValueIndex() == 0 ? true: false;				break;			}		}		CodeFormatter formatter= new CodeFormatter(options);			String lineSeparator= null;		try {			lineSeparator = fViewer.getDocument().getLineDelimiter(1);		} catch (Exception e) {}		if (lineSeparator == null)			lineSeparator = System.getProperty("line.separator");		int index= 0;		while (index < content.length() && Character.isWhitespace(content.charAt(index)))		{			index++;		}		int reverseIndex= content.length() - 1 ;		while(reverseIndex > 0 && Character.isWhitespace(content.charAt(reverseIndex)))		{			reverseIndex--;		}		if (positions != null)			formatter.setPositionsToMap(positions);		formatter.setInitialIndentationLevel(fInitialIndentation == null ? 0 : fInitialIndentation.length());		String result= null;		if (reverseIndex >= index)		{			result = formatter.formatSourceString(content.substring(index, reverseIndex+1));			if (positions != null) {				int[] newPositions= formatter.getMappedPositions();				for (int i= 0; i < positions.length; i++)				positions[i]= newPositions[i];			}		}				if (reverseIndex >= index){				return content.substring(0, index) + result + content.substring(reverseIndex+1);		}		else			return content;	}