The base class implementation internally tracks the number of times the provider's Initialize method has been called. If a provider is initialized more than once, an InvalidOperationException is thrown stating that the provider is already initialized.
Because most feature providers call Initialize prior to performing provider-specific initialization, this method is a central location for preventing double initialization.