code: private boolean addExtractorOrDynamicValueAsFieldWriter(List<Object> list, FieldExtractor extractor, String header, boolean commaMightBeNeeded) {
          if (extractor != null) {
              String head = header;
              if (commaMightBeNeeded) {
                  head = "," + head;
              }
              list.add(new FieldWriter(head, extractor));
              return true;
          }
          return commaMightBeNeeded;
      }
docs: If extractor is present, this will combine the header and extractor into a FieldWriter,
  allowing the FieldWriter to determine when and if to write the header value based on the
  given document's data. If a comma is needed, it is appended to the header string before
  being passed to the FieldWriter.
  
  @return true if a comma may be needed on the next call