RpcOutputStream extends FileOutputStream { @Override public void close() throws IOException { if (!closed) { closed = true; switch (this.fileType) { case FST_UTF16: case FST_XUTF16: case FST_UTF8: case FST_XUTF8: case FST_UNICODE: case FST_XUNICODE: case FST_TEXT: case FST_XTEXT: if (this.lineEndStream != null) { this.lineEndStream.close(); } break; case FST_GUNZIP: case FST_XGUNZIP: readTrailer(this.footerBytes); this.outStream.close(); this.checkedOutStream.close(); break; default: break; } super.close(); } } RpcOutputStream(RpcPerforceFile file);  RpcOutputStream(RpcPerforceFile file, RpcConnection rpcConnection, boolean useLocalDigester);  RpcOutputStream(RpcPerforceFile file, Charset charset, boolean isUnicodeServer,
	                       boolean useLocalDigester);  RpcOutputStream(RpcPerforceFile file, Charset charset, boolean isUnicodeServer,
	                       boolean useLocalDigester, int filesys_utf8bom); @Override void close(); long write(Map<String, Object> map); @Override void write(byte[] sourceBytes, int off, int len); @Override void write(byte[] b); long writeConverted(byte[] sourceBytes); @Override void write(int b); RpcPerforceFile getFile(); String getServerDigest(); void setServerDigest(String serverDigest); MD5Digester getLocalDigester(); void setLocalDigester(MD5Digester localDigester);  }
@Test public void testClose() throws Exception { }