public boolean removeAll(Object owner)
    {
        List<T> removed = providedByOwner.remove(owner);
        if (removed == null)
        {
            return false;
        }
        for (T r : removed)
        {
            provided.values().remove(r);
        }
        return true;
    }