private void Start(object parameter)
		{
			string[] fileNames = (string[])parameter;
			List<NuGenAssembly> loadedAssemblies = new List<NuGenAssembly>(fileNames.Length);
			bool isProjectChanged = false;

			foreach (string fileName in fileNames)
			{
				try
				{
					if (fileName == null || fileName.Length == 0)
					{
						NuGenUIHandler.Instance.SetProgressText(fileName, "File not found.", false);
					}
					else
					{
						NuGenAssembly assembly = new NuGenAssembly(false);
						assembly.FullPath = fileName;
						assembly.LoadAssembly();

						if (assembly != null)
						{
							loadedAssemblies.Add(assembly);
						}
					}
				}
				catch (Exception exception)
				{
					isProjectChanged = true;
					NuGenUIHandler.Instance.DisplayUserWarning("An error occurred while loading the assembly.");
					NuGenUIHandler.Instance.ShowException(exception);
				}

				NuGenUIHandler.Instance.SetProgressText("\n\n", true);
			}

			NuGenUIHandler.Instance.ResetProgressBar();
			NuGenUIHandler.Instance.AssembliesLoaded(loadedAssemblies, isProjectChanged);

			if (AssembliesLoaded != null)
			{
				AssembliesLoaded(loadedAssemblies, isProjectChanged);
			}
		}