Protects a deterministic subset of your project's eligible classes, so you can inspect the output before licensing the full build.
Protects only a fraction of eligible classes instead of the whole JAR, selected by sorted internal class name, not at random, so the same input always produces the same trial output. Every unselected eligible class is written through unchanged, byte for byte. See Configuration for the flag.
A trial has to do two things at once. It has to show the protection works: a prospect opening the output in a decompiler needs to see renamed, encrypted, nativized classes with cross-references between them, not one isolated toy example. It also has to leave most of the codebase readable, or there's no reason to buy a full licence. The exact fraction is a parameter instead of a hardcoded constant, since the right go-to-market percentage is a business decision, not an architectural one.