How does this FileReader get "closed"?
<p>Consider the following sequence of events</p>

<pre><code>public static void main(String[] a) throws IOException {

    FileReader f = new FileReader(a[0]);

    System.out.println(f.ready()); // true

    doSomethingWithReader(f);

    System.out.println(f.ready()); // false
}

private static String doSomethingWithReader(FileReader reader) {

    BufferedReader br = null;

    try {
        br = new BufferedReader(reader);
        ...
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    return line;
}
</code></pre>

<p>FileReader is not closed anywhere, but what closes it?</p>
