* @throws IOException if serialization of the trace data fails
* @since 2.3
*/
protected void updateTraceInformation(IFile traceFile, CharSequence contents, boolean derived) throws CoreException, IOException {
if (contents instanceof ITraceRegionProvider) {
AbstractTraceRegion traceRegion = ((ITraceRegionProvider) contents).getTraceRegion();
if (sourceTraces == null) {
sourceTraces = HashMultimap.create();
}
IPath tracePath = traceFile.getFullPath();
Iterator<AbstractTraceRegion> iterator = traceRegion.treeIterator();
while(iterator.hasNext()) {
AbstractTraceRegion region = iterator.next();
for(ILocationData location: region.getAssociatedLocations()) {
URI path = location.getPath();
if (path != null) {
sourceTraces.put(path, tracePath);
}
}