private boolean eventuallyUseBeginComplete() { if (data.containsKey(ItemCaract.BEGIN) && data.containsKey(ItemCaract.COMPLETED) && data.containsKey(ItemCaract.DURATION) == false) { final Instant i1 = (Instant) data.get(ItemCaract.BEGIN); final Instant i2 = (Instant) data.get(ItemCaract.COMPLETED); if (i2.compareTo(i1) <= 0) { throw new IllegalArgumentException(); } data.put(ItemCaract.DURATION, math.diff(i1, i2)); return true; } return false; }