INamedElement[] namedElements = thePackage.getOwnedElements();
for (INamedElement namedElement : namedElements) {
if (namedElement instanceof IClass
&& !(namedElement instanceof IUseCase || namedElement instanceof ITestCase
|| namedElement instanceof ISubsystem || namedElement instanceof IRequirement || namedElement instanceof IAssociationClass)) {
IClass c = (IClass) namedElement;
if (filter.isEnable(c)) {
classes.add(c);
getNestedClass(c.getNestedClasses(), classes, filter);
}
}
if (namedElement instanceof IPackage) {
IPackage p = (IPackage) namedElement;
getClasses(p, classes, filter);