we should make this return a new instance, so the fields can be final. To avoid having a large number of constructors, you can use a builder:

  return toBuilder()
          .printFullThreadStackDump(enable)
          .build();