Source:
public @Nullable BinaryFile getMatchingFile(long ts, long vpid, long ip) { waitForCompletion(); final ITmfStateSystem ss = checkNotNull(getStateSystem()); List<Integer> possibleBaddrQuarks = ss.getQuarks(String.valueOf(vpid), "*"); NavigableSet<Long> possibleBaddrs = FluentIterable.from(possibleBaddrQuarks) .transform(new Function<Integer, Long>(){ @Override public Long apply(@Nullable Integer quark) { String baddrStr = ss.getAttributeName(checkNotNull(quark).intValue()); return checkNotNull(Long.valueOf(baddrStr)); } }).toSortedSet(Ordering.natural()); final Long potentialBaddr = possibleBaddrs.floor(ip); try { final List<ITmfStateInterval> fullState = ss.queryFullState(ts); final int baddrQuark = ss.getQuarkAbsolute(String.valueOf(vpid), String.valueOf(potentialBaddr)); final long endAddr = fullState.get(baddrQuark).getStateValue().unboxLong(); if (!(ip < endAddr)) { return null; } List<Integer> buildIds = ss.getSubAttributes(baddrQuark, false); Optional<Integer> potentialBuildIdQuark = FluentIterable.from(buildIds).firstMatch(new Predicate<Integer>() { @Override public boolean apply(@Nullable Integer input) { int quark = checkNotNull(input).intValue(); ITmfStateValue value = fullState.get(quark).getStateValue(); return (!value.isNull()); } }); if (!potentialBuildIdQuark.isPresent()) { return null; } int buildIdQuark = potentialBuildIdQuark.get().intValue(); String buildId = ss.getAttributeName(buildIdQuark); String filePath = fullState.get(buildIdQuark).getStateValue().unboxStr(); return new BinaryFile(filePath, buildId); } catch (AttributeNotFoundException e) { throw new IllegalStateException(e); } catch (StateSystemDisposedException e) { return null; } }

Target:
@Nullable UstDebugInfoBinaryFile getMatchingFile(long ts, long vpid, long ip) { waitForCompletion(); final ITmfStateSystem ss = checkNotNull(getStateSystem()); List<Integer> possibleBaddrQuarks = ss.getQuarks(String.valueOf(vpid), "*"); NavigableSet<Long> possibleBaddrs = FluentIterable.from(possibleBaddrQuarks) .transform(new Function<Integer, Long>(){ @Override public Long apply(@Nullable Integer quark) { String baddrStr = ss.getAttributeName(checkNotNull(quark).intValue()); return checkNotNull(Long.valueOf(baddrStr)); } }).toSortedSet(Ordering.natural()); final Long potentialBaddr = possibleBaddrs.floor(ip); try { final List<ITmfStateInterval> fullState = ss.queryFullState(ts); final int baddrQuark = ss.getQuarkAbsolute(String.valueOf(vpid), String.valueOf(potentialBaddr)); final long endAddr = fullState.get(baddrQuark).getStateValue().unboxLong(); if (!(ip < endAddr)) { return null; } List<Integer> buildIds = ss.getSubAttributes(baddrQuark, false); Optional<Integer> potentialBuildIdQuark = FluentIterable.from(buildIds).firstMatch(new Predicate<Integer>() { @Override public boolean apply(@Nullable Integer input) { int quark = checkNotNull(input).intValue(); ITmfStateValue value = fullState.get(quark).getStateValue(); return (!value.isNull()); } }); if (!potentialBuildIdQuark.isPresent()) { return null; } int buildIdQuark = potentialBuildIdQuark.get().intValue(); String buildId = ss.getAttributeName(buildIdQuark); String filePath = fullState.get(buildIdQuark).getStateValue().unboxStr(); return new UstDebugInfoBinaryFile(filePath, buildId); } catch (AttributeNotFoundException e) { throw new IllegalStateException(e); } catch (StateSystemDisposedException e) { return null; } }