}
	public String getText(Object element) {		if (element instanceof RefactoringHistoryEntry) {			final RefactoringHistoryEntry entry= (RefactoringHistoryEntry) element;			return getDescriptorLabel(entry.getDescriptor());		} else if (element instanceof RefactoringDescriptorProxy) {			return getDescriptorLabel((RefactoringDescriptorProxy) element);		} else if (element instanceof RefactoringHistory) {			return RefactoringUIMessages.RefactoringHistoryControlConfiguration_collection_label;		} else if (element instanceof RefactoringHistoryNode) {			final RefactoringHistoryNode node= (RefactoringHistoryNode) element;			final StringBuffer buffer= new StringBuffer(32);			final int kind= node.getKind();			switch (kind) {				case RefactoringHistoryNode.COLLECTION:					buffer.append(fControlConfiguration.getCollectionLabel());					break;				default: {					if (node instanceof RefactoringHistoryDate) {						final RefactoringHistoryDate date= (RefactoringHistoryDate) node;						final Date stamp= new Date(date.getTimeStamp());						Format format= null;						String pattern= ""; //$NON-NLS-1$						switch (kind) {							case RefactoringHistoryNode.THIS_WEEK:								pattern= fControlConfiguration.getThisWeekPattern();								format= new SimpleDateFormat("ww"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.LAST_WEEK:								pattern= fControlConfiguration.getLastWeekPattern();								format= new SimpleDateFormat("ww"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.WEEK:								pattern= fControlConfiguration.getWeekPattern();								format= new SimpleDateFormat("ww"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.YEAR:								pattern= fControlConfiguration.getYearPattern();								format= new SimpleDateFormat("yyyy"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.THIS_MONTH:								pattern= fControlConfiguration.getThisMonthPattern();								format= new SimpleDateFormat("MMMMM"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.LAST_MONTH:								pattern= fControlConfiguration.getLastMonthPattern();								format= new SimpleDateFormat("MMMMM"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.MONTH:								pattern= fControlConfiguration.getMonthPattern();								format= new SimpleDateFormat("MMMMM"); //$NON-NLS-1$								break;							case RefactoringHistoryNode.DAY:								pattern= fControlConfiguration.getDayPattern();								try {									final Locale locale= new Locale(RefactoringUIMessages.RefactoringHistoryLabelProvider_label_language, RefactoringUIMessages.RefactoringHistoryLabelProvider_label_country, RefactoringUIMessages.RefactoringHistoryLabelProvider_label_variant);									final int type= node.getParent().getKind();									if (type == RefactoringHistoryNode.THIS_WEEK || type == RefactoringHistoryNode.LAST_WEEK)										format= new SimpleDateFormat(NLS.bind(RefactoringUIMessages.RefactoringHistoryControlConfiguration_day_detailed_pattern, DateFormat.getDateInstance().format(stamp)), locale);									else										format= DateFormat.getDateInstance();								} catch (RuntimeException exception) {									format= DateFormat.getDateInstance();								}								break;							case RefactoringHistoryNode.YESTERDAY:								pattern= fControlConfiguration.getYesterdayPattern();								format= DateFormat.getDateInstance();								break;							case RefactoringHistoryNode.TODAY:								pattern= fControlConfiguration.getTodayPattern();								format= DateFormat.getDateInstance();								break;						}						buffer.append(NLS.bind(pattern, new String[] { format.format(stamp)}));					}				}			}			return buffer.toString();		}		return super.getText(element);	}