@Override
    public void execute() {
        Item ironOre = Inventory.getItem(Constants.IRON_ORE_ID);
        if (furnace != null) {
            if (Constants.SMITH_WIDGET.validate()) {
                if (Constants.BAR_WIDGET.validate()) {
                    if (Constants.BAR_WIDGET.interact("Make")) {
                        Mouse.move(Random.nextInt(0, 515), Random.nextInt(51, 370));
                        final Timer timer = new Timer(2000);
                        while (timer.isRunning() && !getContainer().isTerminated()) {
                            if (Players.getLocal().getAnimation() != -1) {
                                timer.reset();
                            }
                            if (Inventory.getCount(Constants.IRON_ORE_ID) < 1 || Inventory.getCount(Constants.COAL_ID) < 2) {
                                break;
                            }
                        }
                        System.out.println("Outside timer");
                        Task.sleep(Random.nextInt(100, 250));
                    }
                } else {
                    furnace.interact("Smelt");
                    Task.sleep(Random.nextInt(500, 920));
                }
            } else {
                furnace.interact("Smelt");
                Task.sleep(Random.nextInt(500, 920));
            }
        }
    }