Chame o método protegido de uma subclasse de outra instância de pacotes diferentes

Eu quero invocar um método protegido de outra instância de dentro de uma subclasse da classe que fornece este método protegido. Veja o seguinte exemplo:

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 me diz issocomputeSize() has protected access in Nano. Não consigo ver o motivo disso (achei que já estava fazendo isso em algum outro código). Eu gostaria de manter esse método sendo protegido. O que posso fazer?

javac version "1.7.0_09"
Editar

Eu queria fornecer uma versão simplificada, mas não pensei no fato de que as classes estão em pacotes diferentes.

nanolay.Node
nanolay.NanoContainer
nanogui.SomeOtherNode

questionAnswers(2)

yourAnswerToTheQuestion