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");
  }
}

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" ) ; } }
prepare a list of strings representing vertical bar . bar height is yvalue , rescaled to fit a y span of ymaxlines of text .
