@Override
  public Iterator<AssemblyTask> getAvailableTasks(User user) {
    IteratorConverter<WorkPost> converter = new IteratorConverter<>();
    HashMap<AssemblyTask, String> tasks = new HashMap<AssemblyTask, String>();

    for (AssemblyLine line : this.getOrderManager().getMainScheduler().getAssemblyLines())
      for (WorkPost post : converter.convert(line.getWorkPostsIterator()))
        for (AssemblyTask task : post.getResponsibleTasksClone())
          if (task.canBeOrdered())
            if (!tasks.containsValue(task.toString())) tasks.put(task, task.toString());

    return tasks.keySet().iterator();
  }
 @Override
 public Iterator<WorkPost> getWorkPosts(User user, AssemblyLine assemblyLine) {
   return assemblyLine.getWorkPostsIterator();
 }