code: protected ILaunchConfiguration createConfiguration(INode type,
  			String projectName)
  	{
  		ILaunchConfiguration config = null;
  		ILaunchConfigurationWorkingCopy wc = null;
  		try
  		{
  			
  			ILaunchConfigurationType configType = getConfigurationType();
  			wc = configType.newInstance(null, getLaunchManager().generateLaunchConfigurationName(projectName+" "+AstNameUtil.getName(type)));
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_PROJECT, projectName);
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_CREATE_COVERAGE, true);
  
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_DEFAULT, getModuleName( type));
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_OPERATION, getOperationName( type)
  					+ "()");
  			if (isStaticAccessRequired(type))
  			{
  				wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_MODULE, getModuleName(type));
  				wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_EXPRESSION, getModuleName(type)
  						+ "`" + getOperationName(type) + "()");
  			} else
  			{
  				wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_MODULE, getModuleNameLaunch(type));
  				wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_EXPRESSION, "new "
  						+ getModuleNameLaunch(type)
  						+ "."
  						+ getOperationName(type) + "()");
  			}
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_STATIC_OPERATION, isStaticAccessRequired(type));
  
  			wc.setAttribute(IDebugConstants.VDM_LAUNCH_CONFIG_ENABLE_LOGGING, false);
  
  			config = wc.doSave();
  		} catch (CoreException exception)
  		{
  
  			MessageDialog.openError(VdmDebugPlugin.getActiveWorkbenchShell(), LauncherMessages.VdmLaunchShortcut_3, exception.getStatus().getMessage());
  		}
  		return config;
  	}
docs: /*
  (non-Javadoc)
  @see org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchShortcut#createConfiguration(org.eclipse.jdt
  .core.IType)