private EmployeeForm convertEmployeeToEmployeeForm(Employee employee) {

    EmployeeForm employeeForm = new EmployeeForm();

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

      cookedDishes.forEach(dish -> cookedDishesIdList.add(dish.getId().toString()));
      String cookedDishesString = convertListToDelimitedString(cookedDishesIdList);
      employeeForm.setCookedDishes(cookedDishesString);
      populateEmployeeForm(employeeForm, cook);

      if ("".equals(employeeForm.getCookedDishes())) {
        employeeForm.setCookedDishes("No cooked dishes");
      }

      return employeeForm;

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

      orders.forEach(order -> ordersIdList.add(order.getId().toString()));
      String ordersString = convertListToDelimitedString(ordersIdList);

      employeeForm.setOrders(ordersString);
      populateEmployeeForm(employeeForm, waiter);

      if ("".equals(employeeForm.getOrders())) {
        employeeForm.setOrders("No orders");
      }

      return employeeForm;

    } else {
      populateEmployeeForm(employeeForm, employee);

      return employeeForm;
    }
  }