Не удается получить доступ к защищенному внутреннему классу во время наследования

Чтение черезМышление на Яве " я застрял в бывшей: 6 главы внутренних классов.

Упражнение 6: (2) Создайте интерфейс с хотя бы одним методом в своем собственном пакете. Создайте класс в отдельном пакете. Добавьте защищенный внутренний класс, который реализует интерфейс. В третьем пакете унаследуйте от своего класса и, внутри метода, верните объект защищенного внутреннего класса, передавая его в интерфейс во время возврата.

Это мой код:

IOne.java

интерфейс

package intfpack;
public interface IOne{
        void    f();
}
COne.java

Класс с защищенным внутренним классом, который реализует интерфейс

package classpack;
import intfpack.*;
public class COne{
        protected class Inner implements IOne{
                public void f(){System.out.println("Inner class of COne");}
        } 
}
CTwo.java

Наследование от класса с защищенным внутренним классом

package thirdpack;
import classpack.*;
import intfpack.*;

public class CTwo extends COne{
        public IOne getInner(){
                IOne io = new Inner(); 
                return io;
        }
        public static void main(String[] args){
                CTwo ct = new CTwo();
                ct.getInner();
        }
}

Копмилер говорит следующее:

javac CTwo.java
CTwo.java:9: Inner() has protected access in classpack.COne.Inner
                IOne io = new Inner(); 
                          ^
1 error

Но книга говорит, что я могу получить доступ к защищенным внутренним классам в производном классе. Где ошибка?

Ответы на вопрос(4)

Ваш ответ на вопрос