# File lib/tree.rb, line 103
    def ancestors(cidr)
        # validate object
        if ( !cidr.kind_of?(NetAddr::CIDR) )
            begin
                cidr = NetAddr::CIDR.create(cidr)
            rescue Exception => error
                raise ArgumentError, "Provided argument raised the following " +
                                     "errors: #{error}"
            end
        end

        list = []
        parent = find_parent(cidr)
        until (!parent.tag[:Parent])
            list.push( NetAddr.cidr_build(parent.version, parent.to_i(:network), parent.to_i(:netmask)) )
            parent = parent.tag[:Parent]
        end

        return(list)
    end