super(factory); this.first  = first; this.next   = next;  if (first == null && next == null) { this.length = 0; } else { this.length = 1 + next.getLength(); }
super(factory, null); this.annotations = this; this.first  = null; this.next   = null; this.length = 0;
  protected ATermListImpl(PureFactory factory, ATerm first, ATermList next)  {    super(factory);    this.first  = first;    this.next   = next;    if (first == null && next == null) {      this.length = 0;    } else {      this.length = 1 + next.getLength();    }  }