System.out.println("first: " + first); System.out.println("next: " + next); ATerm head = first.make(args); ATermList tail = (ATermList) next.make(args); System.out.println("head: " + head + " tail: " + tail); return factory.makeList(head, tail);
if (isListPlaceHolder(first) && next == factory.empty) { return next.make(args); } else { return factory.makeList(first.make(args), (ATermList) next.make(args)); }
  public ATerm make(List args)  {    if (first == null) {      return this;    }    System.out.println("first: " + first);    System.out.println("next: " + next);    ATerm head = first.make(args);    ATermList tail = (ATermList) next.make(args);System.out.println("head: " + head + " tail: " + tail);    return factory.makeList(head, tail);  }