2. Dodać do klas których nazwa kończy się słowem model, dodać funkcjonalność: czy obiekt został zmodyfikowany(dwie metody) setChanged(boolean) boolean isChanged() zmieniony jak wykonala sie jakakolwiek metoda która zaczyna się od set public aspect TrudnyAspect { declare parents: *.*model implements ChangeTracked; private boolean ChangeTracked.changed = false; public boolean ChangeTracked.isChanged() { return changed; } public void ChangeTracked.setChanged(boolean changed) { this.changed = changed; } before(ChangeTracked changeTracked) : execution(* ChangeTracked+.set*(..)) && !execution(* ChangeTracked.*(..)) && this(changeTracked) { changeTracked.setChanged(true); } } interface ChangeTracked { }