Sorry to be blunt but if it's bad, don't do it; then fix the stuff that's existing and bad so that it's not bad any more, instead of propagating the badness :P (I poked at KL when I saw the 'doDrain' in the original PR - didn't realise it hadn't been renamed).

The fact that @Soaryn posted as he did makes it rather obvious that it's not at all clear or straightforward. Parameter naming should (optimally) indicate function at a glance (or should have javadocs to fill in the gap): `doFill` doesn't, without reading the docs that are in a completely different file. Bad.

And yup: the commit still has a mix of tabs on some lines and spaces on others (use "show all characters" option in N++ and it'll become evident on lines 342-359).

Additionally, squash (rebase -i) is your friend - and makes Lex slightly less likely to shout at you - which is a very good thing. :P

(as a side-note: your new javadocs in the other file have a misnamed parameter... copypasta fail \*grin\*)