#### §5.4.1.(a) Method binding guards

A guard may be attached to a callin method binding as in:

    void roleMethod(int ir) <- after void baseMethod(int ib)
      when (ir > MyTeam.this.threshold);

Such a guard only affects the callin binding to which it is attached, i.e., this specific callin binding is only effective, if the predicate evaluates to `true`.
The following values are within the scope of the predicate expression, and thus can be used to express the condition:

- The role instance denoted by `this`.
  Features of the role instance can also be accessed relative to `this` with or without explicit qualifying `this`.
- The team instance denoted by a qualified this reference as in `MyTeam.this`.
- If the callin binding includes signatures (as in the example above): Parameters of the role method.
  If parameter mappings are involved, they will be evaluated before evaluating the guard.