In the DiscountSchema you can choose a CumulativeLevel of "line". (The only alternative is to not choose any level.) There is only Java code for the "line" case.
Now I want to implement a plugin for a "document" level of discounts. But the discountschema is applied for "line" every time. The code should be conditional.
Perhaps we should make the CumulativeLevel mandatory. I see no usecase where you create a DiscountSchema record without any Level.