¿Por qué BufferedInputStream copia un campo en una variable local en lugar de usar el campo directamente?

Cuando leo el código fuente de java.io.BufferedInputStream.getInIfOpen(), estoy confundido acerca de por qué escribió un código como este: /** * Check to make sure that underlying input stream has not been * nulled out due to close; if not return it; */ private InputStream getInIfOpen() throws...