Java solution

It does completely work , and well it doesn't *theoretically* break any rules.

The only limitation is that you're only allowed to have one g()()()()("al") chain in this class, which is not forbidden by the rules.

So I'm disregarding improbable and claim that this is complete.