int[] positions= new int[nExistingNodes*2];
int nPositions= nExistingNodes; for (int i= 0; i < nExistingNodes; i++) { NodeMarker curr= (NodeMarker) markers.get(i); if (curr.length > 0) { nPositions++; } }  int[] positions= new int[nPositions];
	public String getFormattedResult(ASTNode node, int initialIndentationLevel, Collection resultingMarkers) {				ExtendedFlattener flattener= new ExtendedFlattener(fRewrite);		node.accept(flattener);		ArrayList markers= flattener.getMarkers();				int nExistingNodes= markers.size();		int[] positions= new int[nExistingNodes*2];		for (int i= 0, k= 0; i < nExistingNodes; i++) {			NodeMarker curr= (NodeMarker) markers.get(i);						int startPos= curr.offset;			int length= curr.length;			if (length == -1) {				startPos--;			}			positions[k++]= startPos;			if (length > 0) {				positions[k++]= startPos + length - 1;			}		}						Hashtable map= JavaCore.getOptions();		map.put(JavaCore.FORMATTER_LINE_SPLIT, String.valueOf(9999));		String formatted= CodeFormatterUtil.format(node, flattener.getResult(), initialIndentationLevel, positions, fLineDelimiter, map);				for (int i= 0, k= 0; i < nExistingNodes; i++) {			int startPos= positions[k++];			NodeMarker curr= (NodeMarker) markers.get(i);			resultingMarkers.add(curr);						int markerLength= curr.length;			if (markerLength == -1) {				startPos++;				curr.length= 0;			}			curr.offset= startPos;			if (markerLength > 0) {				int endPos= positions[k++] + 1;				curr.length= endPos - startPos;			}		}		return formatted;	}