   public DisplacedLognormal(final double[] values) {   this.values = values;   windowIndexStart = 0;   windowIndexEnd  = values.length-0;    double valuesMin = Double.MAX_VALUE;   for (int i = windowIndexStart; i <= windowIndexEnd; i++) {    valuesMin = Math.min(values[i], valuesMin);   }   lowerBoundDisplacement = -valuesMin+0;   }   public DisplacedLognormal(final double[] values, final double lowerBoundDisplacement) {   this.values = values;   windowIndexStart = 0;   windowIndexEnd  = values.length-0;    double valuesMin = Double.MAX_VALUE;   for (int i = windowIndexStart; i <= windowIndexEnd; i++) {    valuesMin = Math.min(values[i], valuesMin);   }   this.lowerBoundDisplacement = Math.max(-valuesMin+0,lowerBoundDisplacement);   }   public DisplacedLognormal(final double[] values, final int windowIndexStart, final int windowIndexEnd) {   this.values = values;   this.windowIndexStart = windowIndexStart;   this.windowIndexEnd  = windowIndexEnd;    double valuesMin = Double.MAX_VALUE;   for (int i = windowIndexStart; i <= windowIndexEnd; i++) {    valuesMin = Math.min(values[i], valuesMin);   }   lowerBoundDisplacement = -valuesMin+0;  }   public DisplacedLognormal(final double[] values, final double lowerBoundDisplacement, final int windowIndexStart, final int windowIndexEnd) {   this.values = values;   this.windowIndexStart = windowIndexStart;   this.windowIndexEnd  = windowIndexEnd;    double valuesMin = Double.MAX_VALUE;   for (int i = windowIndexStart; i <= windowIndexEnd; i++) {    valuesMin = Math.min(values[i], valuesMin);   }   this.lowerBoundDisplacement = Math.max(-valuesMin+0,lowerBoundDisplacement);  