Source:
<code>public static TribbleFeatureSource getFeatureSource(ResourceLocator locator, Genome genome, boolean useCache) throws IOException, TribbleIndexNotFoundException { AbstractFeatureReader.setComponentMethods(IGVComponentMethods.getInstance()); FeatureCodec codec = CodecFactory.getCodec(locator, genome); boolean indexExists = false; String idxPath = locator.getIndexPath(); if (idxPath != null) { if (FileUtils.isRemote(idxPath)) { idxPath = HttpUtils.mapURL(idxPath); } indexExists = true; } else { String maybeIdxPath = ResourceLocator.indexFile(locator); if (maybeIdxPath == null) { indexExists = false; } else { if (FileUtils.isRemote(maybeIdxPath)) { maybeIdxPath = HttpUtils.mapURL(maybeIdxPath); } if(FileUtils.resourceExists(maybeIdxPath)) { indexExists = true; idxPath = maybeIdxPath; } } } final int hundredMB = 100000000; final int oneGB = 1000000000; long size = FileUtils.getLength(locator.getPath()); final boolean indexRequired = size > oneGB; if (!Globals.isHeadless() && locator.isLocal() && !locator.getPath().endsWith(".gz") && !indexExists) { if (size > hundredMB) { createIndex(locator, indexRequired); } } String path = locator.getPath(); if (FileUtils.isRemote(path)) { path = HttpUtils.mapURL(path); } AbstractFeatureReader basicReader = AbstractFeatureReader.getFeatureReader(path, idxPath, codec, indexRequired || indexExists); if (indexExists) { <START> return new IndexedFeatureSource(basicReader, codec, locator, genome, true); <END> } else { return new NonIndexedFeatureSource(basicReader, codec, locator, genome, indexRequired || indexExists); } }</code><technical_language>This is fixed now, correct</technical_language>

Target:
public static TribbleFeatureSource getFeatureSource(ResourceLocator locator, Genome genome, boolean useCache) throws IOException, TribbleIndexNotFoundException { AbstractFeatureReader.setComponentMethods(IGVComponentMethods.getInstance()); FeatureCodec codec = CodecFactory.getCodec(locator, genome); boolean indexExists = false; String idxPath = locator.getIndexPath(); if (idxPath != null) { if (FileUtils.isRemote(idxPath)) { idxPath = HttpUtils.mapURL(idxPath); } indexExists = true; } else { String maybeIdxPath = ResourceLocator.indexFile(locator); if (maybeIdxPath == null) { indexExists = false; } else { if (FileUtils.isRemote(maybeIdxPath)) { maybeIdxPath = HttpUtils.mapURL(maybeIdxPath); } if(FileUtils.resourceExists(maybeIdxPath)) { indexExists = true; idxPath = maybeIdxPath; } } } final int hundredMB = 100000000; final int oneGB = 1000000000; long size = FileUtils.getLength(locator.getPath()); final boolean indexRequired = size > oneGB; if (!Globals.isHeadless() && locator.isLocal() && !locator.getPath().endsWith(".gz") && !indexExists) { if (size > hundredMB) { createIndex(locator, indexRequired); } } String path = locator.getPath(); if (FileUtils.isRemote(path)) { path = HttpUtils.mapURL(path); } AbstractFeatureReader basicReader = AbstractFeatureReader.getFeatureReader(path, idxPath, codec, indexRequired || indexExists); if (indexExists) { return new IndexedFeatureSource(basicReader, codec, locator, genome, useCache, true); } else { return new NonIndexedFeatureSource(basicReader, codec, locator, genome, indexRequired || indexExists); } }