@@ -0,0 +1,1192 @@
+/* Copyright (c) 2008-2013, Avian Contributors%0A%0A   Permission to use, copy, modify, and/or distribute this software%0A   for any purpose with or without fee is hereby granted, provided%0A   that the above copyright notice and this permission notice appear%0A   in all copies.%0A%0A   There is NO WARRANTY for this software.  See license.txt for%0A   details. */%0A%0Apackage java.io;%0A%0Apublic abstract class FilterReader extends Reader %7B%0A  protected Reader in;%0A%0A  protected FilterReader(Reader in) %7B%0A    this.in = in;%0A  %7D%0A%0A  public int read() throws IOException %7B%0A    return in.read();%0A  %7D%0A%0A  public int read(char%5B%5D buffer, int offset, int length) throws IOException %7B%0A    return in.read(buffer, offset, length);%0A  %7D%0A%0A  public boolean ready() throws IOException %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  public long skip(long n) throws IOException %7B%0A    throw new UnsupportedOperationException();%0A  %7D%0A%0A  public void close() throws IOException %7B%0A    in.close();%0A  %7D%0A%0A  public boolean markSupported() %7B%0A    return in.markSupported();%0A  %7D%0A%0A  public void mark(int readAheadLimit) throws IOException %7B%0A    in.mark(readAheadLimit);%0A  %7D%0A%0A  public void reset() throws IOException %7B%0A   in.reset();%0A  %7D%0A%7D%0A

Implement FilterReader