### Question:
Columns implements Iterable<Column> { public Iterator<Column> iterator() { List<Column> list = new ArrayList<Column>(columns.length); for (Column each : columns) list.add(each); return list.iterator(); } Columns(Column... columns);  Columns(Collection<Column> columns); boolean contains(Column column); boolean contains(Columns columns); Iterator<Column> iterator(); int count(); String namesJoint(String separator); String namesJoint(String template, String separator); Columns exclude(Columns toexclude); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void iterable() { Columns columns = new Columns(NAME, BIRTH_DATE); Iterator<Column> it = columns.iterator(); assertEquals(NAME, it.next()); assertEquals(BIRTH_DATE, it.next()); }