code: public void concat(AbstractLinkedList<? extends E, ? extends T> other) {
          if (other.isEmpty()) {
              return;
          }
  
          if (isEmpty()) {
              head = other.head;
              last = other.last;
          } else {
              T otherHead = other.head;
              last.setNext(otherHead);
              otherHead.setPrev(last);
              last = other.last;
          }
          size += other.size;
          other.clear();
      }
docs: Concatenates two linked lists. All elements of the specified list (which will be empty afterwards) are added at
  the end of this list. This operation runs in constant time.
  
  @param other
  the list to append,