bundleClass = Class.forName(join(type.getName(), "$bundle", language, country, variant), true, type.getClassLoader()).asSubclass(type); } catch (ClassNotFoundException e) { bundleClass = Class.forName(join(type.getName(), "$bundle", language, country, null), true, type.getClassLoader()).asSubclass(type); } catch (ClassNotFoundException e) { bundleClass = Class.forName(join(type.getName(), "$bundle", language, null, null), true, type.getClassLoader()).asSubclass(type); } catch (ClassNotFoundException e) { bundleClass = Class.forName(join(type.getName(), "$bundle", null, null, null), true, type.getClassLoader()).asSubclass(type); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Invalid bundle " + type + " (implementation not found)");