I have a suggestion about changing methods getInput/Output/ErrStream().
I think these methods:
1. have improper names - they not only get but also set streams - method names are missleading
2. They work bad if they were called after channel.connect() method (sometimes - it depends on an execution (runtime))

My suggestion is to:
1. make these methods deprecated
2. add new get methods which only get existing streams
3. (maybe) make new methods that do what this methods do now (setNewXStream?)
4. or (in my opinion the best) change the body of methods - get methods should have only return lines
I found this problem had at least two guys (look up mail from 2004-06-02 and 2002-12-26) but their problems haven't been solved.