Это баг проверки или мое решение не правильное и лучше писать код, как предлогают ?
public static void haveFun(Person person) {
        if(person instanceof Player){
            new Player().play();
        }
        if(person instanceof Dancer){
            new Dancer().dance();
        }
    }