private Employee convertEmployeeFormToEmployee(EmployeeForm employeeForm) {

    if (employeeForm.getPosition() == Position.Cook) {
      Cook employee = new Cook();
      List<CookedDishes> cookedDishes = new ArrayList<>();
      List<String> cookedDishesIdList =
          convertDelimitedStringToList(employeeForm.getCookedDishes());

      populateEmployee(employeeForm, employee);
      cookedDishesIdList.forEach(
          id -> cookedDishes.add(cookedDishesServiceDao.findById(Integer.parseInt(id))));
      employee.setCookedDishes(cookedDishes);

      return employee;

    } else if (employeeForm.getPosition() == Position.Waiter) {
      Waiter employee = new Waiter();
      List<Orders> orders = new ArrayList<>();
      List<String> ordersIdList = convertDelimitedStringToList(employeeForm.getOrders());

      ordersIdList.forEach(id -> orders.add(orderServiceDao.findById(Integer.parseInt(id))));
      populateEmployee(employeeForm, employee);
      employee.setOrders(orders);

      return employee;

    } else {
      Employee employee = new Employee();
      populateEmployee(employeeForm, employee);

      return employee;
    }
  }