question: public boolean render ( Graphics2D g2 , Rectangle2D dataArea , int index , PlotRenderingInfo info , CategoryCrosshairState crosshairState ) { boolean foundData = false ; CategoryDataset currentDataset = getDataset ( index ) ; CategoryItemRenderer renderer = getRenderer ( index ) ; CategoryAxis domainAxis = getDomainAxisForDataset ( index ) ; ValueAxis rangeAxis = getRangeAxisForDataset ( index ) ; boolean hasData = ! DatasetUtilities . isEmptyOrNull ( currentDataset ) ; if ( hasData && renderer != null ) { foundData = true ; CategoryItemRendererState state = renderer . initialise ( g2 , dataArea , this , index , info ) ; state . setCrosshairState ( crosshairState ) ; int columnCount = currentDataset . getColumnCount ( ) ; int rowCount = currentDataset . getRowCount ( ) ; int passCount = renderer . getPassCount ( ) ; for ( int pass = 0 ; pass < passCount ; pass ++ ) { if ( this . columnRenderingOrder == SortOrder . ASCENDING ) { for ( int column = 0 ; column < columnCount ; column ++ ) { if ( this . rowRenderingOrder == SortOrder . ASCENDING ) { for ( int row = 0 ; row < rowCount ; row ++ ) { renderer . drawItem ( g2 , state , dataArea , this , domainAxis , rangeAxis , currentDataset , row , column , pass ) ; } } else { for ( int row = rowCount - 1 ; row >= 0 ; row -- ) { renderer . drawItem ( g2 , state , dataArea , this , domainAxis , rangeAxis , currentDataset , row , column , pass ) ; } } } } else { for ( int column = columnCount - 1 ; column >= 0 ; column -- ) { if ( this . rowRenderingOrder == SortOrder . ASCENDING ) { for ( int row = 0 ; row < rowCount ; row ++ ) { renderer . drawItem ( g2 , state , dataArea , this , domainAxis , rangeAxis , currentDataset , row , column , pass ) ; } } else { for ( int row = rowCount - 1 ; row >= 0 ; row -- ) { renderer . drawItem ( g2 , state , dataArea , this , domainAxis , rangeAxis , currentDataset , row , column , pass ) ; } } } } } } return foundData ; }
target:  Draws a representation of a dataset within the dataArea region using the appropriate renderer.