code: void calculateValueAt(double x) {
  		int len = points.size();
  		for (int i = 1; i < len; i++) {
  			Point p1 = points.get(i - 1);
  			Point p2 = points.get(i);
  
  			if (x >= p1.getX().doubleValue() && x <= p2.getX().doubleValue()) {
  				// calculate the slope intercept form
  				double m = (p2.getY().doubleValue() - p1.getY().doubleValue()) / (p2.getX().doubleValue() - p1.getX().doubleValue());
  				double b = p1.getY().doubleValue() - m * p1.getX().doubleValue();
  
  				double interpolated = m * x + b;
  
  				// apply the hedge if we have one
  				if(haveHedge()) {
  					interpolated = getHedge().calculateValue(interpolated);
  				}
  				exploded.add(interpolated);
  				return;
  			}
  		}
  	}
docs: Calculate the value at a particular point.
  <p>
  @param x the x value