public class ErasureBugV1 {

        public static void main(String[] args) {
                java.util.List<java.util.List<String>> table = new java.util.ArrayList<>();
                java.util.List<String> list = new java.util.ArrayList<String>();
                list.add("a");
                list.add("b");
                list.add("c");
                table.add(list);
                list = new java.util.ArrayList<String>();
                list.add("d");
                list.add("e");
                list.add("f");
                table.add(list);
                System.err.println(toString(table));
        }

        public static String toString(java.util.List<java.util.List<String>> table) {
                StringBuilder sb = new StringBuilder();
                java.util.List<String> l;
                int i = 0;
                if (i < table.size()) {
                        sb.append(toString(table.get(i)));
                        for (++i; i < table.size(); ++i) {
                                sb.append("\n");
                                sb.append(toString(table.get(i)));
                        }
                }
                return sb.toString();
        }

        public static String toString(java.util.List<String> list) {
                StringBuilder sb = new StringBuilder();
                int i = 0;
                if (i < list.size()) {
                        sb.append(list.get(i));
                        for (++i; i < list.size(); ++i) {
                                sb.append(",");
                                sb.append(list.get(i));
                        }
                }
                return sb.toString();
        }

} 