public synchronized void addRecentItem(T item){
  item=fromString(toString(item));
  if (m_RecentItems.size() > 0) {
    if (item.equals(m_RecentItems.get(0)))     return;
  }
  m_RecentItems.remove(item);
  m_RecentItems.add(0,item);
  while (m_RecentItems.size() > m_MaxCount)   m_RecentItems.remove(m_RecentItems.size() - 1);
  if (m_IgnoreChanges)   return;
  writeProps();
  updateMenu();
  notifyRecentItemListenersOfAdd(item);
}

public synchronized void addRecentItem ( T item ) { item = fromString ( toString ( item ) ) ; if ( m_RecentItems . size ( ) > 0 ) { if ( item . equals ( m_RecentItems . get ( 0 ) ) ) return ; } m_RecentItems . remove ( item ) ; m_RecentItems . add ( 0 , item ) ; while ( m_RecentItems . size ( ) > m_MaxCount ) m_RecentItems . remove ( m_RecentItems . size ( ) - 1 ) ; if ( m_IgnoreChanges ) return ; writeProps ( ) ; updateMenu ( ) ; notifyRecentItemListenersOfAdd ( item ) ; }
adds the item to the internal list .
