Integer counter = new Integer(lowMap.get(low) - 1);
if (counter == 0) {
Double min = lowMap.firstKey();
lowMap.remove(low);
if (min.equals(low)) {
fireEvent(new DynamicModelEvent(DynamicModelEvent.EventType.MIN_CHANGED, model, getMin()));
}
} else {
lowMap.put(low, counter);
}
}
if (!Double.isInfinite(high) && highMap.get(high) != null) {
Integer counter = new Integer(highMap.get(high) - 1);
if (counter == 0) {
Double max = highMap.lastKey();
highMap.remove(high);
if (max.equals(high)) {
fireEvent(new DynamicModelEvent(DynamicModelEvent.EventType.MAX_CHANGED, model, getMax()));
}
} else {
highMap.put(high, counter);
}
}
if (lowMap.isEmpty() && highMap.isEmpty()) {
fireEvent(new DynamicModelEvent(DynamicModelEvent.EventType.IS_DYNAMIC_GRAPH, model, Boolean.FALSE));
}
}