public static void main(String [] args){ Test t = new Test(); List<F> listF = new ArrayList<F>(); listF.add(new F()); System.out.println("List of F returns "+ t.accept(listF)); List<E> listE = new ArrayList<E>(); listE.add(new E()); System.out.println("List of E returns "+ t.accept(listE)); List<D> listD = new ArrayList<D>(); listD.add(new D()); System.out.println("List of D returns "+ t.accept(listD)); List<C> listC = new ArrayList<C>(); listC.add(new C()); System.out.println("List of C returns "+ t.accept(listC)); List<B> listB = new ArrayList<B>(); listB.add(new B()); System.out.println("List of B returns "+ t.accept(listB)); List<A> listA = new ArrayList<A>(); listA.add(new A()); System.out.println("List of A returns "+ t.accept(listA)); }