static public void release() {
		if (!injected) return;
		
		try {
			// Define
			boolean fa;
			boolean ff;
			Field flagsList;
			Field flagsListMod;
			
			// Get: fields required for reflection
			flagsList = DefaultFlag.class.getDeclaredField("flagsList");
			flagsListMod = Field.class.getDeclaredField("modifiers");
			
			// Check: field access
			fa = flagsList.isAccessible();
			ff = Modifier.isFinal(flagsList.getModifiers());
			
			// Access: set accessible
			if (fa) {
				flagsList.setAccessible(true);
			}
			
			// Access: set non-final
			if (ff) {
				flagsListMod.setAccessible(true);
				flagsListMod.setInt(flagsList, flagsList.getModifiers() & ~Modifier.FINAL);
			}
			
			// Set: field
			flagsList.set(null, getOriginalFlags());
			
			// Reset access changes
			if (ff) {
				flagsListMod.setInt(flagsList, flagsList.getModifiers() | Modifier.FINAL);
				flagsListMod.setAccessible(false);
			}
			
			if (fa) {
				flagsList.setAccessible(false);
			}
			
			// Done!
			injected = false;
			
			WorldRegionsPlugin.getInstanceLogger().info("Released flags!");
		} catch (Throwable ex) {
			WorldRegionsPlugin.getInstanceLogger().log(Level.SEVERE, "Unable to release flags!", ex);
		}
	}