code: public void addValue(double value) {
  		average = (average*observationCount + value) / (observationCount + 1);
  		if(value < minimum)
  			minimum = value;
  		if(value > maximum)
  			maximum = value;
  		insertSeq.add(value);
  		Integer c = insertStat.get(value);
  		if(c == null)
  			c = 0;
  		insertStat.put(value, ++c);
  		observationCount++;
  		
  		if(alwaysUpToDate)
  			update();
  	}
docs: Adds a new value to the observation.<br>
  The given value is inserted in a list containing sequential inserts ({@link #insertSeq})<br>
  and in a map containing distinct values and occurrences ({@link #insertStat}).<br>
  The {@link #average}, {@link #maximum} and {@link #minimum} are adjusted,<br>
  just like the {@link #expectation} and all {@link #moments} in case the update behavior is set accordingly.
  finally it increments the {@link #observationCount}.
  @param value New value to be inserted
  @see #alwaysUpToDate
  @see #update()