# File lib/stream.rb, line 470
        def initialize (otherStream=nil)
          if otherStream
                @wrapped_stream = otherStream
                @at_beginning_proc = proc {otherStream.at_beginning?}
                @at_end_proc = proc {otherStream.at_end?}
                @forward_proc = proc {otherStream.basic_forward}
                @backward_proc = proc {otherStream.basic_backward}
                @set_to_end_proc = proc {otherStream.set_to_end}
                @set_to_begin_proc = proc {otherStream.set_to_begin}
          end
          yield self if block_given? # let client overwrite defaults

          @at_beginning_proc = proc {true} unless @at_beginning_proc
          @at_end_proc = proc {true} unless @at_end_proc
        end