public static class SingleList implements List, Iterable { protected Node m_start; // Starting element, initially null. public SingleList() { m_start = null; } public Iterator iterator() { return new Iterator { Node cur = m_start; public boolean hasNext() { return cur.getNext(); } public MyType next() { MyType ret = cur.getData(); cur = cur.getNext(); return ret; } }; } <..> } Compiler: $ javac A2.java A2.java:67: '(' or '[' expected return new Iterator { ^