public VWVertex Remove() { VWVertex tmpPrev = Prev; var tmpNext = Next; VWVertex result = null; if (Prev != null) { Prev.Next = tmpNext; Prev.UpdateArea(); result = Prev; } if (Next != null) { Next.Prev = tmpPrev; Next.UpdateArea(); if (result == null) { result = Next; } } _isLive = false; return(result); }