} catch (ExceptionInInitializerError ex) { System.err.println("  The plugin [" + pname + "] could not be initialized"); System.err.println(ex.toString()); } catch (SecurityException  ex) { System.err.println("  The plugin [" + pname + "] has insufficient permission to be loaded"); System.err.println(ex.toString()); } catch(ClassCastException ex) { System.err.println("  The class [" + pname + "] does not seem to be a valid NV2D plugin"); System.err.println(ex.toString());
} catch(LinkageError error) { System.err.println("  The plugin [" + className + "] could not be linked"); System.err.println(error.toString()); } catch(ClassNotFoundException error) { System.err.println("  The plugin [" + className + "] could not be found"); System.err.println(error.toString());
	private boolean load(ClassLoader loader, String fullpath) {		boolean success = false;		String pname = extractName(fullpath);		String fullname = extractPath(fullpath);		try {			if(pname == null || pname.length() < 1 || pname.indexOf("$") >= 0) {				// internal classes have the file name format				// PublicClass$InternalClass.class, and should not be				// considered.				return false;			}						if(pluginRegistry.containsKey(pname) || ioRegistry.containsKey(pname)) {				// don't reload plugins				System.err.println("Warning: plugin with name [" + pname + "] already loaded.  Ignoring.");			} else {				// Load class from class loader. argv[0] is the name of the class to be loaded				Class c = loader.loadClass(fullname);				// Create an instance of the class just loaded				NV2DPlugin s = (NV2DPlugin) c.newInstance();				register(s.name(), s);				success = true;			}		} catch (ClassNotFoundException ex) {			System.err.println("  The plugin [" + pname + "] could not be found");			System.err.println(ex.toString());		} catch (InstantiationException ex) {			if(verbose > 2) {				System.err.println("  The plugin [" + pname + "] could not be instantiated");				System.err.println(ex.toString());			}		} catch (IllegalAccessException ex) {			if(verbose > 2) {				System.err.println("  There was an IllegalAccessException while loading plugin [" + pname + "]");				System.err.println(ex.toString());			}		} catch (ExceptionInInitializerError ex) {			System.err.println("  The plugin [" + pname + "] could not be initialized");			System.err.println(ex.toString());		} catch (SecurityException  ex) {			System.err.println("  The plugin [" + pname + "] has insufficient permission to be loaded");			System.err.println(ex.toString());		} catch(ClassCastException ex) {			System.err.println("  The class [" + pname + "] does not seem to be a valid NV2D plugin");			System.err.println(ex.toString());		}							if(success) {			System.out.println("Loaded plugin [" + pname + "]");		}				return success;	}