@Override
	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
			throws CoreException {
		// TODO Auto-generated method stub


		IWorkbench wb = PlatformUI.getWorkbench();
		IWorkbenchWindow window = wb.getActiveWorkbenchWindow();

		if(window != null)
		{
			IWorkbenchPage page = window.getActivePage();
			if(page != null)
			{
				IEditorPart editorPart = page.getActiveEditor();
				IEditorInput input = editorPart.getEditorInput();
				IPath path = ((FileEditorInput)input).getPath();

				if( path instanceof Path)
					System.out.println("It is a path");


				try
				{
					IPreferenceStore preferenceStore = ShadowPlugin.getDefault()
							.getPreferenceStore();
					String pathToJar = preferenceStore.getString("PATH");			

					URL[] urls = { new URL("jar:file:" + pathToJar+"!/") };			

					URLClassLoader loader = URLClassLoader.newInstance(urls);

					Class<?> mainClass = loader.loadClass("shadow.Main");
					Class<?> argumentClass = loader.loadClass("shadow.Arguments");

					mainClass.getMethod("main", new Class[] {String.class} );


					System.out.println("launching");
				}
				catch (ClassNotFoundException | MalformedURLException ex)
				{

				}
				catch (NoSuchMethodException | SecurityException ex)
				{
					String problem = ex.getCause().toString();
				}

			}
		}





		//ExternalToolsUtil.getLocation(configuration);
		ILaunchConfigurationWorkingCopy stuffyStuff = configuration.getWorkingCopy();



		//File firstFile = LaunchArgumentsHelper.getWorkingDirectory(configuration);

		IFile file = configuration.getFile();
		String srcLocatorID = configuration.ATTR_SOURCE_LOCATOR_ID;
		String srcLocatorMemento = configuration.ATTR_SOURCE_LOCATOR_MEMENTO;
		String configurationFileExtension = configuration.LAUNCH_CONFIGURATION_FILE_EXTENSION;


		String configurationFileLocation = configuration.getAttribute(ShadowLaunchConfigurationAttributes.CONFIG_FILE_LOCATION, "");


		//
		/*
		this.preLaunchCheck(configuration, mode, monitor)
		 */


		if(!configurationFileLocation.isEmpty())
		{



		}

		System.out.println(configurationFileLocation);

		ISourceLocator thing = launch.getSourceLocator();

		String thing2 = launch.getLaunchMode();

		IProcess[] thing3 = launch.getProcesses();

		System.out.println("launching2");
	}