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
}
