# File lib/stream.rb, line 399 def at_beginning? # same algorithm as at_end? the other way round. Could we do it # with metaprogramming? @currentStream.at_beginning? and begin until streamOfStreams.at_beginning? dir, @dirOfLastMove = @dirOfLastMove, :backward s = streamOfStreams.basic_backward next if dir == :forward s.set_to_end if s.at_beginning? next else @currentStream = s return false end end reachedBoundary end end