import org.checkerframework.checker.guieffect.qual.SafeEffect;
import org.checkerframework.checker.guieffect.qual.UIType;
@UIType
public class UIParent {
protected UIElement thingy;
@SafeEffect // Making this ctor safe to allow easy safe subclasses
public UIParent() {}
public void doingUIStuff() {
thingy.dangerous();
} // should have UI effect
@SafeEffect
public void doingSafeStuff() {} // non-UI
}