#### §3.4.(d) Private methods from super classes

If a callout binding shall bind to a private base method, that method must be defined in the exact base class to which the current role class is bound using `playedBy`. I.e., for private methods §3.1.(d) does not hold.
The same holds for private base fields (see below).
If a private base feature must indeed be callout-bound, a role class must be defined that is played by the exact base class defining the private feature. Another role bound to a sub-base-class can then be defined as a sub class of the first role. It will inherit the callout binding and through this it can access the desired feature.

1

    public class SuperBase {

2

      private int secret;

3

    }

4

    public class SubBase extends SuperBase  { /* details omitted */ }

5

    public team class MyTeam {

6

      protected class SuperRole playedBy SuperBase {

7

        int steal() -> get int secret; // OK

8

      }

9

      protected class SubRole extends SuperRole playedBy SubBase {

10

        int steal() -> get int secret; // illegal!

11

      }

12

    }