code: public static <T> Link<T> make(Link<T> root, T object) {
          Link<T> link = new Link<>(object);
  
          if (root == null) {
              root = link;
          } else if (root.last == null) {
              root.next = link;
          } else {
              root.last.next = link;
          }
          root.last = link;
          return root;
      }
docs: Adds a new object at the end of the list identified by the root link.
  
  @param root - the root link of the list, which can be null
  @param object - the data object to add
  @return the root link