private LinkedHashMap<String, LinkedHashSet<GBrowseTrackInfo>> getSubGbrowseTrack(
      List<SpanQueryResultRow> spanResults) {

    LinkedHashMap<String, LinkedHashSet<GBrowseTrackInfo>> subGTrack =
        new LinkedHashMap<String, LinkedHashSet<GBrowseTrackInfo>>();
    for (SpanQueryResultRow aRow : spanResults) {
      if (MetadataCache.getTracksByDccId(aRow.getSubDCCid()).size() > 0) {
        List<GBrowseTrack> trackList = MetadataCache.getTracksByDccId(aRow.getSubDCCid());
        LinkedHashSet<GBrowseTrackInfo> trackInfoList = new LinkedHashSet<GBrowseTrackInfo>();
        for (GBrowseTrack aTrack : trackList) {
          GBrowseTrackInfo aTrackInfo =
              new GBrowseTrackInfo(
                  aTrack.getOrganism(), aTrack.getTrack(),
                  aTrack.getSubTrack(), aTrack.getDCCid());
          trackInfoList.add(aTrackInfo);
        }
        subGTrack.put(aRow.getSubDCCid(), trackInfoList);
      }
    }

    return subGTrack;
  }