Java rewrite engine4

delete all klabels and change all when -> requires
I think we should not give up the `structural` attribute, because in some applications can be useful and it would be a nightmare to add it again.