public Map < String , Declaration > getInnerDeclarations ( ) { final Map inner = new HashMap ( this . basePattern . getOuterDeclarations ( ) ) ; for ( Pattern pattern : remainingPatterns ) { inner . putAll ( pattern . getOuterDeclarations ( ) ) ; } return inner ; }
Forall inner declarations are only provided by the base patterns since it negates the remaining patterns