@ NonNull @ Override public Iterator < AdminRow > iterator ( ) { return new AbstractIterator < AdminRow > ( ) { @ Override protected AdminRow computeNext ( ) { List < ByteBuffer > rowData = data . poll ( ) ; return ( rowData == null ) ? endOfData ( ) : new AdminRow ( columnSpecs , rowData , protocolVersion ) ; } } ; }
This consumes the result s data and can be called only once .