if (input != null) { final RefactoringSessionDescriptor descriptor= getCachedSession(file, input); if (descriptor != null) { final RefactoringDescriptor[] descriptors= descriptor.getRefactorings(); for (int index= 0; index < descriptors.length; index++) { if (descriptors[index].getTimeStamp() == stamp) return descriptors[index]; }
final RefactoringSessionDescriptor descriptor= getCachedSession(file, input); if (descriptor != null) { final RefactoringDescriptor[] descriptors= descriptor.getRefactorings(); for (int index= 0; index < descriptors.length; index++) { if (descriptors[index].getTimeStamp() == stamp) return descriptors[index];
	RefactoringDescriptor requestDescriptor(final RefactoringDescriptorProxy proxy, final IProgressMonitor monitor) {		try {			monitor.beginTask(RefactoringCoreMessages.RefactoringHistoryService_resolving_information, 2);			final long stamp= proxy.getTimeStamp();			if (stamp >= 0) {				InputStream input= null;				try {					final IFileStore folder= fHistoryStore.getChild(stampToPath(stamp));					if (folder != null) {						final IFileStore file= folder.getChild(RefactoringHistoryService.NAME_HISTORY_FILE);						if (file != null && file.fetchInfo(EFS.NONE, new SubProgressMonitor(monitor, 1, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)).exists()) {							input= new BufferedInputStream(file.openInputStream(EFS.NONE, new SubProgressMonitor(monitor, 1, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));							if (input != null) {								final RefactoringSessionDescriptor descriptor= getCachedSession(file, input);								if (descriptor != null) {									final RefactoringDescriptor[] descriptors= descriptor.getRefactorings();									for (int index= 0; index < descriptors.length; index++) {										if (descriptors[index].getTimeStamp() == stamp)											return descriptors[index];									}								}							}						}					}				} catch (CoreException exception) {					// Do nothing				} finally {					try {						if (input != null)							input.close();					} catch (IOException exception) {						// Do nothing					}				}			}		} finally {			monitor.done();		}		return null;	}