text: The class diagram for the stream classes is shown below:
  
  
  
  *===========================*                     *============================*
  | InputStreamCallback<S, T> |                     | OutputStreamCallback<S, T> |
  *===========================*                     *============================*
   |                                                                           |
   |-inherits from                                               inherits from-|
   |                                                                           |
   |                                                                           |
   |  +-------------------------------+     +--------------------------------+ |
   |  | SyncInputStreamCallback<S, T> |     | SyncOutputStreamCallback<S, T> | |
   |  +-------------------------------+     +--------------------------------+ |
   |       |                ^  |                    |  ^                 |     |
   |       |-inherits from  |  |-uses          uses-|  |   inherits from-|     |
   |       |                |  |                    |  |                 |     |
   |       |        creates-|  |                    |  |-creates         |     |
   |       |                |  V                    V  |                 |     |
   |       |         *================*     *=================*          |     |
   |       |         | InputStream<T> |     | OutputStream<T> |          |     |
   |       |         *================*     *=================*          |     |
   |       |            |                                  |             |     |
   |       |            |-uses                        uses-|             |     |
   |       |            |                                  |             |     |
   |       V            V                                  V             |     |
   |  / - - - - - - - - - - - - - - - -\   / - - - - - - - - - - - - - - - - \ |
   |  | SyncInputStreamCallbackBase<T> |   | SyncOutputStreamCallbackBase<T> | |
   |  \ - - - - - - - - - - - - - - - -/   \ - - - - - - - - - - - - - - - - / |
   |       |                                                             |     |
   |       |-inherits from                                 inherits from-|     |
   |       |                                                             |     |
   |       V                                                             V     |
   |   +-------------------------+               +--------------------------+  |
   \-> | InputStreamCallbackBase |------\  /-----| OutputStreamCallbackBase |<-/
       +-------------------------+      |  |     +--------------------------+
                        |   *^          |  |          ^*   |
                   uses-|    |     uses-|  |-uses     |    |-uses
                        |    |          |  |          |    |
                        |    |-uses     |  |     uses-|    |
                        |    |-owns     |  |     owns-|    |
                        V   1|          |  |          |1   V
                   +--------------+     |  |     +------------+
          /--------| StreamSource |--\  |  |  /--| StreamSink |---------\
          |        +--------------+  |  |  |  |  +------------+         |
          |-uses        ^            |  |  |  |           ^        uses-|
          |-owns        |       uses-|  |  |  |-uses      |        owns-|
          |             |-uses       |  |  |  |      uses-|             |
          |             |-owns       |  |  |  |      owns-|             |
          V             |            V  V  V  V           |             V
   +--------------+     |         +---------------+       |     +--------------+
   | StreamReader |     \---------| StreamManager |-------/     | StreamWriter |
   +--------------+               +---------------+             +--------------+
                                    |         |
                                    |         |
                           /--------/         \--------------\
                           |                                 |
                           |-uses                       uses-|
                           |                                 |
                           V                                 V
                / - - - - - - - - - - - \              +-----------+
                | StreamChannelCallback |              | EventBase |
                \ - - - - - - - - - - - /              +-----------+
  
  
  Legend:
       / - - - - - \              +-------+          +=====================+
       | Interface |              | Class |          | ClassExposedToUsers |
       \ - - - - - /              +-------+          +=====================+
  