import java.io.Reader; /** Translating Reader: a stream that is a translation of an * existing reader. */ public class TrReader extends Reader { /** A new TrReader that produces the stream of characters produced * by STR, converting all characters that occur in FROM to the * corresponding characters in TO. That is, change occurrences of * FROM.charAt(0) to TO.charAt(0), etc., leaving other characters * unchanged. FROM and TO must have the same length. */ public TrReader(Reader str, String from, String to) { // FILL IN } // FILL IN // NOTE: Until you fill in the right methods, the compiler will // reject this file, saying that you must declare TrReader // abstract. Don't do that; define the right methods instead! }