code: private static Date diffFromDate(Date date, long diff, boolean clearTimeOfDay){
  		Date result = convertToUtilDate(convertToLocalDateTime(date).plusNanos(diff*1000000));
  		if(!clearTimeOfDay)
  			return result;
  		return clearTimeOfDay(result);
  	}
docs: Caution: Difference calculation is based on adding/subtracting milliseconds and omits time zones.<br>
  In some cases the method might return possibly unexpected results due to time zones.<br>
  When for example to the last day of CEST without time of day information (in 2016: 30.10.2016 00:00:00 000) milliseconds for one day are added,
  the resulting date is NOT 30.10.2016 23:00:00 000 (as expected due to one hour subtraction because of summer time) but 31.10.2016 00:00:00 000.