return (RefactoringDescriptorProxy[]) list.toArray(new RefactoringDescriptorProxy[list.size()]);
	public static RefactoringDescriptorProxy[] readRefactoringDescriptorProxies(final InputStream stream, final String project, final long start, final long end, final int flags) throws IOException {		final List list= new ArrayList();		final BufferedReader reader= new BufferedReader(new InputStreamReader(stream, IRefactoringSerializationConstants.OUTPUT_ENCODING));		while (reader.ready()) {			final String line= reader.readLine();			if (line != null) {				final int index= line.indexOf(DELIMITER_COMPONENT);				if (index > 0) {					try {						final long stamp= new Long(line.substring(0, index)).longValue();						if (stamp >= start && stamp <= end)							list.add(new DefaultRefactoringDescriptorProxy(unescapeString(line.substring(index + 1)), project, stamp));					} catch (NumberFormatException exception) {						// Just skip					}				}			}		}		return (RefactoringDescriptorProxy[]) list.toArray(new RefactoringDescriptorProxy[list.size()]);	}