Class ZOrder

This class determines a position of a HighlightsLayer in relation
to other layers. Instances of this class are immutable.

Developers are encouraged to use the predefined z-order constants in this
class. Each constant refers to a rack in vertical ordering with a specific
purpose. The racks are ordered in the following way:

It is possible to further specify a position of a layer within a rack by
using the forPosition(int) method. The ZOrder constants
for each rack use zero as the default position. Therefore calling forPosition
with a positive number will create a ZOrder above the rack marker
and using a negative number will produce ZOrder below the rack marker.

When positioning your layer you should choose the rack that suites the purpose
of your layer. It is possible to further define more precise ordering
between layers within a rack. For example, if you have two layers - one providing
syntactical highlighting and the other one providing semantical highlighting -
they both belong to the SYNTAX_RACK, but the semantical layer should be placed
above the syntactical one, because it provides 'more accurate' highlights. You could
define ZOrder of your layers like this: