Would it make sense to parametrize the interface? Something like:

    public interface BridgeProvider {
        Class<? extends Annotation> supportedBridgeTypes()
    }    

Could be a set as well in case we think a provider can handle multiple