Pre segment switch

That's true. I especially don't like that there are 3 if clauses that just do `this.fillBuffer()`.
Though, there are test cases that cover each of these conditions.