public void storeUserDefinedProvider(JmsProvider provider) throws JmsProviderStoreException {
if (!provider.isUserDefined()) {
throw new IllegalArgumentException("provider.isUserDefined() must be true");
}
if (!isProviderIdAvailable(provider)) {
throw new JmsProviderStoreException("A system provider with the name " +
provider.getName() + " already exists and cannot be replaced. " +
"Please choose another name.");
}
getUserDefinedProviderStore().addProvider(provider);
}