first = last;
  public void reverseAll()  {    reverse();    Segment v = next;    Segment former = this;    next = null;    while (v != null)      {        v.reverse();        v.last = this;        Segment oldnext = v.next;        v.next = former;        former = v;        v = oldnext; // move to the next in list      }  }