protected ILaunchConfiguration findOrCreateLaunchConfiguration(IResource resource,String startupUrl,boolean isExternal,boolean isGwtSuperDevModeEnabled) throws CoreException, OperationCanceledException {
  ILaunchConfiguration config=findLaunchConfiguration(resource,startupUrl,isExternal);
  if (config == null) {
    config=createNewLaunchConfiguration(resource,startupUrl,isExternal,isGwtSuperDevModeEnabled);
  }
 else   if (GWTNature.isGWTProject(resource.getProject()) && GWTLaunchConfigurationWorkingCopy.getSuperDevModeEnabled(config) != isGwtSuperDevModeEnabled) {
    config=turnOnOrOffSuperDevMode(config,isGwtSuperDevModeEnabled);
  }
  return config;
}

protected ILaunchConfiguration findOrCreateLaunchConfiguration ( IResource resource , String startupUrl , boolean isExternal , boolean isGwtSuperDevModeEnabled ) throws CoreException , OperationCanceledException { ILaunchConfiguration config = findLaunchConfiguration ( resource , startupUrl , isExternal ) ; if ( config == null ) { config = createNewLaunchConfiguration ( resource , startupUrl , isExternal , isGwtSuperDevModeEnabled ) ; } else if ( GWTNature . isGWTProject ( resource . getProject ( ) ) && GWTLaunchConfigurationWorkingCopy . getSuperDevModeEnabled ( config ) != isGwtSuperDevModeEnabled ) { config = turnOnOrOffSuperDevMode ( config , isGwtSuperDevModeEnabled ) ; } return config ; }
given a resource , infer the startup url that the resource points at , then look for an existing launch configuration that points at this url . if none exists , we ' ll create a new one .
