public class Usage {
    public void parameterUsageMethod(DelegatedBase b) {
        b.delegatedBaseMethod();
    }

    public int testMethod() {
        A a = new A();
        B b = new B();
        parameterUsageMethod(a.getMyDelegate());
        parameterUsageMethod(b.getMyDelegate());
        a.getMyDelegate().delegatedBaseMethod();
        b.getMyDelegate().delegatedBaseMethod();
        a.equals(b);
        return a.getMyDelegate().delegatedBaseField + b.getMyDelegate().delegatedBaseField;
    }

    DelegatedBase getDelegatedBase(A a) {
        return a.getMyDelegate();
    }
}
