private TaskGroupPredicate createPredicate() { List<FilterPair> listFilters = (List<FilterPair>) bdFilters .getSelectedElements(); Date startDate = filterStartDate.getValue(); Date finishDate = filterFinishDate.getValue(); Boolean includeOrderElements = checkIncludeOrderElements.isChecked(); if (startDate == null && finishDate == null) { TaskGroupPredicate predicate = model .getDefaultPredicate(includeOrderElements); //show filter dates calculated by default on screen if (model.getFilterStartDate() != null && !FilterUtils.hasProjectsStartDateChanged()) { filterStartDate.setValue(model.getFilterStartDate()); } if (model.getFilterFinishDate() != null && !FilterUtils.hasProjectsEndDateChanged()) { filterFinishDate.setValue(model.getFilterFinishDate()); } predicate.setFilters(listFilters); return predicate; } return new TaskGroupPredicate(listFilters, startDate, finishDate, includeOrderElements); }