TrackStudio Enterprise 3.5
Edit Task/BEFORE:

The following trigger prevents users from saving a task with Budgeted Time less than Actual Time:

SecuredTaskBean currentState = new SecuredTaskBean(task.getId(),task.getSecure());
if (currentState.getActualBudget()!=null) {
   if ((task.getBudget()==null && currentState.getBudget()!=null)
      || (task.getBudget()!=null
           && task.getBudget().compareTo(currentState.getActualBudget())<0))
      throw new UserMessageException("Budgeted Time must be greater than Actual Time");
}
return task;