RecentFileMenuItem mi = null;  for (int i = 0; i < getItemCount(); i++) { RecentFileMenuItem rfmi = (RecentFileMenuItem)getItem(i); if (rfmi.getFile().equals(file)) { remove(i); mi = rfmi; } }   if (mi == null) { mi = new RecentFileMenuItem(file);  ActionListener[] ais = getActionListeners(); for (int i = 0; i < ais.length; i++) mi.addActionListener(ais[i]); }    insert(mi, 0);   if (getItemCount()>Constants.MAX_RECENT_FILES) remove(getItemCount()-1);  if (getItemCount()>0) setEnabled(true);
addFile(file, false);
public synchronized void addFile(File file){		RecentFileMenuItem mi = null;	for (int i = 0; i < getItemCount(); i++)	{		RecentFileMenuItem rfmi = (RecentFileMenuItem)getItem(i);		if (rfmi.getFile().equals(file))		{			remove(i);			mi = rfmi;		}	}		// none found, create a new item	if (mi == null)	{		mi = new RecentFileMenuItem(file);				ActionListener[] ais = getActionListeners();		for (int i = 0; i < ais.length; i++)			mi.addActionListener(ais[i]);	}			// add new one at the top	insert(mi, 0);		// remove last	if (getItemCount()>Constants.MAX_RECENT_FILES)		remove(getItemCount()-1);	if (getItemCount()>0)			setEnabled(true);}