Use requires annotation instead of IgnoreIf