def get_sequence(allow_incomplete_sequence = false, &cond_proc)
      raise BadManipulationError, "Condition Proc isn't given." unless cond_proc
      seek_top(&cond_proc)
      return [] unless rest?
      res = [get_next] + seek_top(&cond_proc)
      return [] unless rest? || allow_incomplete_sequence
      return res
    end
def get_sequence(allow_incomplete_sequence = false, &cond_proc)
      raise BadManipulationError, "Condition Proc isn't given." unless cond_proc
      seek_top(&cond_proc)
      return [] unless rest?
      res = [get_next] + seek_top(&cond_proc)
      return [] unless rest? || allow_incomplete_sequence
      return res
    end
Get sequence by specifing head-condition.
 Concrete example:
   If stream has [F1, T2, F3, F4, T5, ...] and given cond_proc is Proc.new{|a| a == Tx},
   get_sequence(&cond_proc) returns array of [T2, F3, F4] and then stream has [T5, ...].

   In the same way, (1) [T1, F2, T3, ...] => return: [T1, F2], stream: [T3, ...]
                    (2) [T1, T2, F3, ...] => return: [T1],     stream: [T2, F3, ...]
                    (3) [T1, F2]          => return: [],       stream: [] (end)
                    (4) [F1, F2]          => return: [],       stream: [] (end)
                    (5) [] (end)          => return: [],       stream: [] (end)

   * But if option-arg "allow_incomplete_sequence" is set as true, above example of (3) is
                        [T1, F2, F3, F4]  => return: [T1, F2, F3, F4], stream: [] (end)