# File lib/tree.rb, line 218
    def delete!(cidr)
        removed = false

        # 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

        # find matching
        me = find_me(cidr)

        # remove
        if (me)
            parent = me.tag[:Parent]
            children = me.tag[:Subnets]
            parent.tag[:Subnets].delete(me)
            children.each {|x| add_to_parent(x,parent)}
            removed = true
        end

        return(removed)
    end