public static Set<IdHistogram> collectVectors(DescriptionManager manage,Iterator<FunctionDescription> iter) {
		TreeSet<IdHistogram> res = new TreeSet<IdHistogram>();
		IdHistogram workingRec = new IdHistogram();
		while(iter.hasNext()) {
			FunctionDescription desc = iter.next();
			SignatureRecord sigrec = desc.getSignatureRecord();
			if (sigrec == null) {
				continue;
			}
			long key = sigrec.getLSHVector().calcUniqueHash();
			manage.setSignatureId(sigrec, key);
			workingRec.id = key;
			IdHistogram prevRec = res.floor(workingRec);
			if (prevRec == null || prevRec.id != key) {
				prevRec = new IdHistogram();
				prevRec.id = key;
				prevRec.vec = sigrec.getLSHVector();
				prevRec.count = 1;
				res.add(prevRec);
			}
			else {
				prevRec.count += 1;
			}
		}
		return res;
	}
Organize/histogram LSHVectors by hash.  Take into account functions that don't have a vector.
Record hashes in the FunctionDescription's SignatureRecord
@param manage is the container of the FunctionDescriptions
@param iter is the iterator over the FunctionDescriptions being collected
@return the histogram as a set of (id,count,vec) triples
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/client/IdHistogram.java