class ActiveLdap::Schema::ObjectClass

def collect_super_classes

def collect_super_classes
  super_classes = attribute('SUP')
  loop do
    start_size = super_classes.size
    new_super_classes = []
    super_classes.each do |super_class|
      new_super_classes.concat(attribute('SUP', super_class))
    end
    super_classes.concat(new_super_classes)
    super_classes.uniq!
    break if super_classes.size == start_size
  end
  super_classes.collect do |name|
    @schema.object_class(name)
  end
end