Кто прошел подскажите. Не проходит валидацию пункт 3. В методе startCookingOrder должен быть вызван метод Thread.sleep() в параметром равным десятикратному времени приготовлению заказа. Вроде бы простое требование, но валидатор явно проверяет еще что-то. OrderManager:
package com.javarush.task.task27.task2712;

import com.javarush.task.task27.task2712.kitchen.Cook;
import com.javarush.task.task27.task2712.kitchen.Order;
import com.javarush.task.task27.task2712.statistic.StatisticManager;

import java.util.Iterator;
import java.util.Observable;
import java.util.Observer;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;

public class OrderManager implements Observer {

   private LinkedBlockingQueue<Order> orderQueue = new LinkedBlockingQueue<>();

   public OrderManager() {
      Thread thread = new Thread(new Runnable() {
         @Override
         public void run() {
            Set<Cook> cooks = StatisticManager.getInstance().getCooks();
            while (true) {
               try {
                  Thread.sleep(10);
               }
               catch (InterruptedException e) {}
               if (!orderQueue.isEmpty()) {
                  for (Cook cook : cooks) {
                     if (!cook.isBusy()) {
                        Order order = orderQueue.poll();
                        if (order != null)
                           cook.startCookingOrder(order);
                     }
                     if (orderQueue.isEmpty())
                        break;
                  }
               }
            }
         }
      });
      thread.setDaemon(true);
      thread.start();
   }

   @Override
   public void update(Observable o, Object arg) {
      try {
         orderQueue.put((Order) arg);
      }
      catch (InterruptedException e) {}
   }
}
Cook:
package com.javarush.task.task27.task2712.kitchen;

import com.javarush.task.task27.task2712.ConsoleHelper;
import com.javarush.task.task27.task2712.statistic.StatisticManager;
import com.javarush.task.task27.task2712.statistic.event.CookedOrderEventDataRow;

import java.util.Observable;
import java.util.Observer;

public class Cook extends Observable {

   private String name;
   private boolean busy;

   public boolean isBusy() {return busy;}

   public Cook(String name) {this.name = name;}

   @Override
   public String toString() {return name;}

   public void startCookingOrder(Order order) {
      this.busy = true;
      int orderTime = order.getTotalCookingTime();
      ConsoleHelper.writeMessage("Start cooking - " + order + ", cooking time " + orderTime + "min");
      CookedOrderEventDataRow eventDataRow = new CookedOrderEventDataRow(order.getTablet().toString(), name, orderTime * 60, order.getDishes());
      StatisticManager.getInstance().register(eventDataRow);
      setChanged();
      notifyObservers(order);
      try {
         Thread.sleep(orderTime * 10);
      } catch (InterruptedException e) {
      }
      this.busy = false;
   }
}