public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            String key = reader.readLine();
            if (key.equals("cartoon") || key.equals("thriller") || key.equals("soapOpera")){
                MovieFactory.getMovie(key);

            }
            else {
                MovieFactory.getMovie(key);
                break;
            }
            try {
                System.out.println(MovieFactory.getMovie(key).getClass().getSimpleName());
            } catch (NullPointerException e) {
                System.out.println(key);
            }

        }

    }

    static class MovieFactory {
        static Movie getMovie(String key) {
            Movie movie = null;
            if ("soapOpera".equals(key)) {
                movie = new SoapOpera();
            }
            if ("cartoon".equals(key)) {
                movie = new Cartoon();
            }
            if ("thriller".equals(key)) {
                movie = new Thriller();
            }
            return movie;
        }
    }

    static abstract class Movie {
    }

    static class SoapOpera extends Movie {
    }
    static class Cartoon extends  Movie {
    }
    static class Thriller extends Movie {
    }
}
Я выполнил все условия, почему валидатор ругается?