public static List<T> OverlapToSingle<T>( List<T> list )
{
 List<T> newList = new List<T>;

 foreach( T t in list)
 {
  if( !newList.Contains( t ) )
   newList.Add( t );
 }

 return newList;
}