When a column is required the definition level is always 0. Similarly when a column is not repeated the repetition level is always 0. Also if a column is constant and is dictionary encoded, the value will always be 0. 
In those cases the information can be encoded in 0 bits. That's what the Packer0 does: nothing. As a java array is always zeroed out initially encoding and decoding is a no-op.