public IProviderDescription findContentProvider(IContentType target,
            Class<? extends IContentProvider> minimumProtocol) {
        for (ContentProviderDescriptor descriptor : providerDescriptors)
            for (IContentType contentType : descriptor.getAssociations())
                if (target.isKindOf(contentType)) {
                    if (minimumProtocol != null && minimumProtocol.isInstance(descriptor.getProvider()))
                        return descriptor;
                }
        return null;
    }