Implement the following MyCollection methods
void add()
should get a collection as an argument and adds it to existing one
T first()
should return first element in a collection and throw IndexOfOfBoundsExceptions if such does not exist
T second()
should return second element in a collection and throw IndexOfOfBoundsExceptions if such does not exist
T third()
should return third element in a collection and throw IndexOfOfBoundsExceptions if such does not exist
last()
should return last element in a collection and throw IndexOfOfBoundsExceptions if such does not exist
Implement the following FIFO and (LIFO) methods
T peek()
should return a reference to a first element in a queue or return null if a queue is empty
T poll()
should return a reference to a first element from a queue and remove it from a queue or return null if a queue is empty
void put(T t)
should put an element as the last (first) one in a queue