if (nodes != null) {
if (!matchedUnitContainer) {
for (int i = 0, l = nodes.length; i < l; i++)
nodeSet.matchingNodes.removeKey(nodes[i]);
} else {
IJavaElement element = createPackageDeclarationHandle(unit);
for (int i = 0, l = nodes.length; i < l; i++) {
ASTNode node = nodes[i];
Integer level = (Integer) nodeSet.matchingNodes.removeKey(node);
if (encloses(element)) {
this.patternLocator.matchReportReference(node, element, null, null, null/*no binding*/, level.intValue(), this);
}
}
}
}
}
if (matchedUnitContainer) {
ImportReference pkg = unit.currentPackage;
if (pkg != null && pkg.annotations != null) {
IJavaElement element = createPackageDeclarationHandle(unit);
if (element != null) {
reportMatching(pkg.annotations, element, null, null, nodeSet, true, encloses(element));
}
}