public void Map(IEnumerable list)
{
if (null == list)
{
throw new ArgumentNullException("list");
}
AcquireWriterLock();
try
{
for (int i=0; i<_list.Count; ++i)
{
object existing = _list[i];
if (null != existing)
{
foreach (object item in list)
{
if (existing.Equals(item))
{
_list[i] = item;
break;
}
}
}
}
}
finally
{
ReleaseWriterLock();
}
}