question: private List < String > prepareYColumn ( Double yValue , int yMaxLines , int y0 ) { Double yPosDotU = Math . abs ( yValue / this . scorePerDot ) ; if ( ( int ) Math . rint ( yPosDotU ) == 0 ) { ArrayList < String > strDepth = new ArrayList < String > ( ) ; for ( int j = 0 ; j < yMaxLines ; j ++ ) { strDepth . add ( strForFill ) ; } if ( yValue . isNaN ( ) ) { strDepth . set ( y0 , this . strForNaN ) ; } else if ( y0 < yMaxLines - 1 || yMaxLines == 1 ) { strDepth . set ( y0 , this . strForZero ) ; } else { strDepth . set ( y0 , this . strForZeroTop ) ; } return strDepth ; } else if ( yValue < 0 ) { return pileForNegative ( yValue , yMaxLines , y0 ) ; } else if ( yValue > 0 ) { return pileForPositive ( yValue , yMaxLines , y0 ) ; } else { throw new RuntimeException ( "Unexpected exception" ) ; } }
target:  Prepare a list of strings representing vertical bar. Bar height is yValue, rescaled to fit a y span of  yMaxLines of text. 