code: private boolean modifyTime(long milliseconds, TimeModification mod) throws LockingException {
                  Validate.notNegative(milliseconds);
                  Validate.notNull(mod);
                  if (milliseconds == 0) {
                          return false;
                  }
  
                  long diff = milliseconds;
                  if (mod == TimeModification.SUB) {
                          diff = (long) Math.copySign(diff, -1);
                  }
  
                  Calendar cal = Calendar.getInstance();
                  cal.setTimeInMillis(timestamp.getTime() + diff);
                  return setTimestamp(cal.getTime());
          }
docs: MBiManrX, synology.iig.uni-freiburg.de/Name/trunk