private void initializeLaunchers() {
		Class<?>[]  paramTypes = {Launchpad.class};
		Object[] params     = {this};

		_launchers.clear();
		_keyFormats.clear();

		for(int i = 0; i < LAUNCHERS.length; i++) {
			String cn = LAUNCHERS[i];

			try {
				Constructor<?> ctor = Class.forName(cn).getConstructor(paramTypes);
				Launcher l = (Launcher) ctor.newInstance(params);

				_ui.log(cn + " is COMPATIBLE.");

				if(l.canPublicKeyAuth()) {
					for(KeyFormat f : KeyFormat.values()) {
						if(l.supportsKeyFormat(f)) {
							_keyFormats.add(f);
						}
					}
				}
				
				_launchers.add(l);

			}			
			catch(InvocationTargetException e) {
				_ui.log(cn + " is INCOMPATIBLE (threw exception during initialization)", e.getCause());                
			}
			catch(Exception e) {
				_ui.log(cn + " is INCOMPATIBLE (threw exception during initialization)", e);
			}
		}
	}