Bug 92563 [content assist] Warm code assist performance for many types
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/java/ExperimentalProposal.java
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.texteditor.link.EditorLinkedModeUI;
import org.eclipse.jdt.ui.PreferenceConstants;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.javaeditor.EditorHighlightingSynchronizer;
import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor;
/**
 * An experimental proposal.
 */
public class ExperimentalProposal extends JavaCompletionProposal {
	private final char[][] fParameterNames;
	private IRegion fSelectedRegion; 
	public ExperimentalProposal(String name, char[] signature, char[][] parameterNames, int offset, int length, Image image, String displayName, int relevance) {
		super(name, offset, length, image, displayName, relevance);
		fParameterNames= parameterNames;
	}
	/*
	 * @see ICompletionProposalExtension#apply(IDocument, char)
	 */
	public void apply(IDocument document, char trigger, int offset) {
		int baseOffset= getReplacementOffset();
		String replacementString;
		int parameterCount;
		int[] positionOffsets, positionLengths;
		if (appendArguments(document, offset)) {
			parameterCount= fParameterNames.length;
			positionOffsets= new int[parameterCount];
			positionLengths= new int[parameterCount];
			replacementString= computeReplacementString(baseOffset, positionOffsets, positionLengths, document);
		} else {