class XmlRowReader implements RowReader {

    @Override
    public Iterator<Object[]> iterator() {
        return new Iterator<Object[]>() {
            private int i = 0;

            @Override
            public boolean hasNext() {
                return i < nodes.getLength();
            }

            @Override
            public Object[] next() {
                return fromNode(nodes.item(i++));
            }

            @Override
            public void remove() {
                throw new UnsupportedOperationException();
            }
        };
    }

    public  XmlRowReader(XmlRowAttribute[] header, NodeList nodes);

}