code: public static Module getInstance(URL url) throws IOException
  	{
  		ModfileInputStream inputStream = null;
  		try
  		{
  			inputStream = new ModfileInputStream(url);
  			Module mod = getModuleFromStreamByID(inputStream);
  			// If the header gives no infos, it's obviously a Noise Tracker file
  			// So let's try all loaders
  			if (mod!=null) 
  				return mod.loadModFile(inputStream);
  			else
  			{
  				mod = getModuleFromStream(inputStream);
  				if (mod!=null)
  					return mod;
  				else
  					throw new IOException("Unsupported MOD-Type: " + inputStream.getFileName());
  			}
  		}
  		catch (Exception ex)
  		{
  			Log.error("[ModuleFactory] Failed with loading " + url.toString(), ex);
  			return null;
  		}
  		finally
  		{
  			if (inputStream!=null) try { inputStream.close(); } catch (IOException ex) { Log.error("IGNORED", ex); }
  		}
  	}
docs: Uses the File-Extension to find a suitable loader.
  @param url URL-Instance of the path to the modfile
  @return null, if fails