public DeclarationFilter not() {
        return new DeclarationFilter() {
            public boolean matches(Declaration d) {
                return !DeclarationFilter.this.matches(d);
            }
        };
    }