private void CommandNewLibrary(Class<?> classArgs) {
		initialized(SET, false);

		String headerMessage = "Initializing ";
		if (soundLibrary != null) {
			currentLibrary(SET, null);
			// we are switching libraries
			headerMessage = "Switching to ";
			soundLibrary.cleanup();
			soundLibrary = null;
		}
		message(headerMessage + SoundSystemConfig.getLibraryTitle(classArgs),
				0);
		message("(" + SoundSystemConfig.getLibraryDescription(classArgs)
				+ ")", 1);

		try {
			soundLibrary = (Library) classArgs.newInstance();
		} catch (InstantiationException ie) {
			errorMessage("The specified library did not load properly", 1);
		} catch (IllegalAccessException iae) {
			errorMessage("The specified library did not load properly", 1);
		} catch (ExceptionInInitializerError eiie) {
			errorMessage("The specified library did not load properly", 1);
		} catch (SecurityException se) {
			errorMessage("The specified library did not load properly", 1);
		}

		if (errorCheck(soundLibrary == null, "Library null after "
				+ "initialization in method 'newLibrary'", 1)) {
			lastException(SET, new SoundSystemException(className
					+ " did not load properly.  "
					+ "Library was null after initialization.",
					SoundSystemException.LIBRARY_NULL));
			importantMessage("Switching to silent mode", 1);

			try {
				soundLibrary = new Library();
			} catch (SoundSystemException sse) {
				lastException(SET, new SoundSystemException(
						"Silent mode did not load properly.  "
								+ "Library was null after initialization.",
								SoundSystemException.LIBRARY_NULL));
				initialized(SET, true);
				return;
			}
		}

		try {
			soundLibrary.init();
		} catch (SoundSystemException sse) {
			lastException(SET, sse);
			initialized(SET, true);
			return;
		}

		lastException(SET, null);
		initialized(SET, true);

		return;
	}