docs: public List<int[]> collectSamples(SequenceModel model, int numSamples, int sampleInterval, int[] initialSequence) {
      if (verbose>0) System.err.print("Collecting samples");
      listener.setInitialSequence(initialSequence);
      List<int[]> result = new ArrayList<int[]>();
      int[] sequence = initialSequence;
      for (int i=0; i<numSamples; i++) {
        sequence = copy(sequence); // so we don't change the initial, or the one we just stored
        sampleSequenceRepeatedly(model, sequence, sampleInterval); // modifies tagSequence
        result.add(sequence); // save it to return later
        if (verbose>0) System.err.print(".");
        System.err.flush();
      }
      if (verbose>1) {
        System.err.println();
        printSamples(result, System.err);
      }
      if (verbose>0) System.err.println("done.");
      return result;
    }