diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java
index 35acf74d7..10996f45c 100644
--- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java
+++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ILocationInResource.java
@@ -7,8 +7,11 @@
*******************************************************************************/
package org.eclipse.xtext.generator.trace;
+import java.io.InputStream;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IStorage;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;
@@ -44,9 +47,12 @@ public interface ILocationInResource {
@Nullable URI getEObjectURI();
/**
- * @return the storage handle for this location. Never null
.
+ * @return the storage handle for this location. This can be null
if the trace comes from a JAR's
+ * source attachment zip file.
*/
- @NonNull IStorage getStorage();
+ @Nullable IStorage getStorage();
+
+ @NonNull InputStream getContents() throws CoreException;
/**
* @return the project for this location. Never null
.
diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java
index 8951b59d6..8bcdddfda 100644
--- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java
+++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITrace.java
@@ -64,7 +64,7 @@ public interface ITrace {
* Returns the storage that is associated with this trace.
* @return the associated storage. Never null
.
*/
- IStorage getLocalStorage();
+// IStorage getLocalStorage();
// /**
// * Returns all available inverse trace information.
diff --git a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java
similarity index 93%
rename from plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java
rename to plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java
index a8672c069..100c56ac0 100644
--- a/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceInformation.java
+++ b/plugins/org.eclipse.xtext/src/org/eclipse/xtext/generator/trace/ITraceForStorageProvider.java
@@ -20,7 +20,7 @@ import org.eclipse.jdt.annotation.Nullable;
* @since 2.3
*/
@NonNullByDefault
-public interface ITraceInformation {
+public interface ITraceForStorageProvider { // ITraceForStorageProvider // ITraceFor
/**
* Returns the trace information to the sources that were used as input for the given derived resource.
@@ -38,7 +38,7 @@ public interface ITraceInformation {
*/
@Nullable ITrace getTraceToTarget(IStorage sourceResource);
- class Null implements ITraceInformation {
+ class Null implements ITraceForStorageProvider {
@Nullable
public ITrace getTraceToSource(IStorage derivedResource) {