Método protegido de llamada desde una subclase de otra instancia de paquetes diferentes

Quiero invocar un método protegido de otra instancia desde una subclase de la clase que proporciona este método protegido. Vea el siguiente ejemplo:

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 dice quecomputeSize() has protected access in Nano. No puedo ver la razón de esto (pensé que ya estaba haciendo esto en algún otro código). Me gustaría mantener este método protegido, ¿qué puedo hacer?

javac version "1.7.0_09"
Editar

Quería proporcionar una versión reducida, pero no pensé en el hecho de que las clases se encuentran en paquetes diferentes.

nanolay.Node
nanolay.NanoContainer
nanogui.SomeOtherNode

Respuestas a la pregunta(2)

Su respuesta a la pregunta