@Override public void close() throws IOException { getDataStream().close(); }
@Override public int read() throws IOException { return getDataStream().read(); }
@Override public int available() throws IOException { return getDataStream().available(); }
@Override public int read(@NotNull byte[] b, int off, int len) throws IOException { return getDataStream().read(b, off, len); }
@Override public int read(@NotNull byte[] b) throws IOException { return getDataStream().read(b); }
@Override public synchronized void mark(int readlimit) { try { getDataStream().mark(readlimit); } catch (IOException e) { throw new RuntimeException(e.getMessage(),e); } }
@Override public synchronized void reset() throws IOException { getDataStream().reset(); }
@Override public long skip(long n) throws IOException { return getDataStream().skip(n); }