Nel mio pattern ho una funzione pubblica ereditata dalla base EObject per accedere ai membri contenuti in $ (aggiunta, modifica, lettura).

Volevo implementare un controllo per cui se il chiamante di protect, (la funzione d'accesso ai membri protetti ) fosse diverso dall'istanza dell'oggetto stesso ci fosse una return null.

Questo per evitare di avere la funzione protect che è pubblica che ritorna risultati in ambiti indesiderati.

Quanti livelli di ereditarietà gestisci con quel pattern?