Вызовите защищенный метод из подкласса другого экземпляра других пакетов

Я хочу вызвать защищенный метод другого экземпляра из подкласса класса, обеспечивающего этот защищенный метод. Смотрите следующий пример:

public class Nano {

    protected void computeSize() {
    }

}

public class NanoContainer extends Nano {

    protected ArrayList<Nano> children;

}

public class SomeOtherNode extends NanoContainer {

    // {Nano} Overrides

    protected void computeSize() {
        for (Nano child: children) {
            child.computeSize();            // << computeSize() has protected access in nanolay.Nano
        }
    }

}

javac говорит мне, чтоcomputeSize() has protected access in Nano, Я не вижу причины этого (я думал, что уже делал это в каком-то другом коде). Я хотел бы сохранить этот метод в безопасности, что я могу сделать?

javac version "1.7.0_09"
редактировать

Я хотел предоставить урезанную версию, но я не думал о том, что классы лежат в разных пакетах.

nanolay.Node
nanolay.NanoContainer
nanogui.SomeOtherNode

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

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