internal void unlink()
 {
     next.prev = prev;
     prev.next = next;
     next.Store();
     prev.Store();
 }
 internal void linkAfter(L2Elem elem) {         
     elem.next.prev = this;
     next = elem.next;
     elem.next = this;
     prev = elem;
     Store();
     next.Store();
     prev.Store();
 }
 internal void linkAfter(L2Elem elem)
 {
     elem.next.prev = this;
     next           = elem.next;
     elem.next      = this;
     prev           = elem;
     Store();
     next.Store();
     prev.Store();
 }