code: public void setMaxTime(double maxTime)
      {
          if(maxTime <= 0 || Double.isInfinite(maxTime) || Double.isNaN(maxTime))
              throw new RuntimeException("maxTime should be positive, not " + maxTime);
          this.maxTime = maxTime;
      }
docs: Sets the maximum amount of time to allow in the rate decay. Any time
  value larger will be treated as the set maximum.<br>
  <br>
  Any calls to {@link #rate(double, double, double) } will use the value
  provided in that method call instead.
  @param maxTime the maximum amount of time to allow