LinkedFix linkedFix= (LinkedFix)fix;  PositionGroup[] positionGroups= linkedFix.getPositionGroups(); for (int i= 0; i < positionGroups.length; i++) { PositionGroup group= positionGroups[i]; String groupId= group.getGroupId();  ITrackedNodePosition firstPosition= group.getFirstPosition(); ITrackedNodePosition[] positions= group.getPositions(); for (int j= 0; j < positions.length; j++) { addLinkedPosition(positions[j], positions[j] == firstPosition, groupId); } String[] proposals= group.getProposals(); String[] displayStrings= group.getDisplayStrings(); for (int j= 0; j < proposals.length; j++) { String proposal= proposals[j]; String displayString= displayStrings[j];  if (proposal == null) proposal= displayString;  if (displayString == null) displayString= proposal;  addLinkedPositionProposal(groupId, displayString, proposal, null); } }  ITrackedNodePosition endPosition= linkedFix.getEndPosition(); if (endPosition != null) { setEndPosition(endPosition); }
setLinkedProposalPostions(((LinkedFix) fix).getLinkedPositions());
	protected TextChange createTextChange() throws CoreException {		IFix fix= fFix;		TextChange createChange= fix.createChange();		if (createChange instanceof TextFileChange)			((TextFileChange)createChange).setSaveMode(TextFileChange.LEAVE_DIRTY);				if (fix instanceof LinkedFix) {			LinkedFix linkedFix= (LinkedFix)fix;						PositionGroup[] positionGroups= linkedFix.getPositionGroups();			for (int i= 0; i < positionGroups.length; i++) {				PositionGroup group= positionGroups[i];				String groupId= group.getGroupId();				ITrackedNodePosition firstPosition= group.getFirstPosition();				ITrackedNodePosition[] positions= group.getPositions();				for (int j= 0; j < positions.length; j++) {					addLinkedPosition(positions[j], positions[j] == firstPosition, groupId);				}				String[] proposals= group.getProposals();				String[] displayStrings= group.getDisplayStrings();				for (int j= 0; j < proposals.length; j++) {					String proposal= proposals[j];					String displayString= displayStrings[j];										if (proposal == null)						proposal= displayString;										if (displayString == null)						displayString= proposal;										addLinkedPositionProposal(groupId, displayString, proposal, null);				}			}						ITrackedNodePosition endPosition= linkedFix.getEndPosition();			if (endPosition != null) {				setEndPosition(endPosition);			}		}				if (createChange == null)			return new CompilationUnitChange("", getCompilationUnit()); //$NON-NLS-1$				return createChange;	}