private HashSet<String> getMatchesOutputSet(Vector<String> tagSet, String baseURL) {
    HashSet<String> retSet=new HashSet<String>();
    
    Iterator<String> vIter=tagSet.iterator();
    while (vIter.hasNext()) {
      String thisCheckPiece=vIter.next();
      Iterator<Pattern> pIter=patternSet.iterator();
      boolean hasAdded=false;
      while (!hasAdded && pIter.hasNext()) {
        Pattern thisPattern=pIter.next();
        Matcher matcher=thisPattern.matcher(thisCheckPiece);
        if (matcher.find() && (matcher.groupCount() > 0)) {
          String thisMatch=getNormalizedContentURL(baseURL, matcher.group(1));
          if (HTTP_START_PATTERN.matcher(thisMatch).matches()) {
            if (!retSet.contains(thisMatch) && !baseURL.equals(thisMatch)) {
              retSet.add(thisMatch);
              hasAdded=true;
            } // end if (!retSet.contains(thisMatch))
          } // end if (HTTP_START_PATTERN.matcher(thisMatch).matches())
        } // end if (matcher.find() && (matcher.groupCount() > 0))
        matcher.reset();
      } // end while (!hasAdded && pIter.hasNext())
    } // end while (vIter.hasNext())
    
    return retSet;
  }