@Override
 public boolean checkShiftType(Grouping grouping, Shift shift) {
   if (shift != null) {
     return shift.containsType(grouping.getShiftType());
   } else {
     return grouping.getShiftType() == null;
   }
 }
 @Override
 public List checkShiftsType(Grouping grouping, List shifts) {
   List result = new ArrayList();
   if (grouping.getShiftType() != null) {
     for (final Shift shift : (List<Shift>) shifts) {
       if (shift.containsType(grouping.getShiftType())) {
         result.add(shift);
       }
     }
   }
   return result;
 }
 @Override
 public boolean checkHasShift(Grouping grouping) {
   return grouping.getShiftType() != null;
 }