# File lib/rgen/environment.rb, line 63
        def find(desc)
    removeDeleted
                result = []
                classes = desc[:class] if desc[:class] and desc[:class].is_a?(Array)
                classes = [ desc[:class] ] if !classes and desc[:class]
                if classes
                        hashKeys = classesWithSubClasses(classes)
                else
                        hashKeys = @elements.keys
                end
                hashKeys.each do |clazz|
                        next unless @elements[clazz]
                        @elements[clazz].each do |e|
                                failed = false
                                desc.each_pair { |k,v|
                                        failed = true if k != :class and ( !e.respond_to?(k) or e.send(k) != v )
                                }
                                result << e unless failed
                        end
                end
                result
        end