### Question:
PayloadCarryingRpcController implements RpcController, CellScannable { public CellScanner cellScanner() { return cellScanner; } PayloadCarryingRpcController();  PayloadCarryingRpcController(final CellScanner cellScanner);  PayloadCarryingRpcController(final List<CellScannable> cellIterables); CellScanner cellScanner(); void setCellScanner(final CellScanner cellScanner); @Override String errorText(); @Override boolean failed(); @Override boolean isCanceled(); @Override void notifyOnCancel(RpcCallback<Object> arg0); @Override void reset(); @Override void setFailed(String arg0); @Override void startCancel(); void setPriority(int priority); void setPriority(final TableName tn); int getPriority();  }### Answer:
@Test public void testListOfCellScannerables() throws IOException { List<CellScannable> cells = new ArrayList<CellScannable>(); final int count = 10; for (int i = 0; i < count; i++) { cells.add(createCell(i)); } PayloadCarryingRpcController controller = new PayloadCarryingRpcController(cells); CellScanner cellScanner = controller.cellScanner(); int index = 0; for (; cellScanner.advance(); index++) { Cell cell = cellScanner.current(); byte [] indexBytes = Bytes.toBytes(index); assertTrue("" + index, Bytes.equals(indexBytes, 0, indexBytes.length, cell.getValueArray(), cell.getValueOffset(), cell.getValueLength())); } assertEquals(count, index); }