public void AddRegionGeo(VoxGeo g) { lock(lckDraw) { var nl = new List<VoxGeo>(geos.Count + 1); for(int i = 0; i < geos.Count; i++) { if(geos[i].Region != g.Region) nl.Add(geos[i]); else geos[i].Dispose(); } geos = nl; geos.Add(g); } }