Why BufferedReader and PrintWriter Actually Changed How I Think About Java