Make read() and write(int) public
Add javadoc for read() and write(int)
Use read() and write(int) in stream wrappers
Format javadoc
Add has...() methods
Use List instead of ArrayList
Make things private in final classes
Make flags private
Throw IllegalStateException if pipe is not/already synced
Add stream resizing API
Add blank lines before break