public static void main(String... args) throws FileNotFoundException {
        if (args.length == 2) {
            for (;;) {
                throw new UnsupportedOperationException("TODO");
//              BufferedReader in = new BufferedReader(new FileReader(args[0]));
//              PrintWriter out = new PrintWriter(args[1]);
//              new Server(in, out).run();
//              System.out.flush();
//              System.err.flush();
            }
        } else {
            ExecutorService pool = Executors.newCachedThreadPool();
            try
                {
                ServerSocket socket = new ServerSocket(0xcafe, -1, null);
                for (;;) {
                    pool.execute(new Server(socket.accept()));
                }
            }
            catch (IOException e) {
                System.err.format("Error: %s%n", e.getLocalizedMessage());
                pool.shutdown();
            }
        }
    }