quadruple linked list

Implement the following public methods in your implementation of the List interface,
called TenLinkedList:
1. boolean add(E e)
2. void add(int index, E element)
3. E remove(int index)
4. E get(int index)
5. int size()
6. void clear()
7. String toString() (see Java API: AbstractCollection2)
One public constructor should exist in your implementation: one that takes no parameters
and creates an empty list when the class is instantiated.
The class should use generics. The behaviour of the methods in your implementation
should be equivalent to that of Java Standard Library’s classes (e.g., LinkedList; please
refer to the class API online). For the methods of the interface that you do not need to
implement, you may either leave them empty or throw an exception
public type someUnneededMethod() {
throw new UnsupportedOperationException();
}
Of course, you are free to implement any private or protected methods and classes as you
see fit. However, the methods mentioned above (or the ones present in the List interface,
or in the class’ superclasses) are the only public methods your class should contain.
Furthermore, your code should not have any side effects, such as printing to the console.