wip #300 - Redesigned Java API, some refactorings

I would rename that to `consumedColumnCount` and above `columnCount` to `requiredColumnCount`.