@@ -427,28 +427,26 @@ public String toString() {
427427
428428 public SampleStats combine (SampleStats other ) {
429429 SampleStats result = new SampleStats ();
430- result .potentialSamples .add (this .potentialSamples .longValue ());
431- result .potentialSamples .add (other .potentialSamples .longValue ());
432- result .samplesRejectedForMaxSamplesExceeded .add (this .samplesRejectedForMaxSamplesExceeded .longValue ());
433- result .samplesRejectedForMaxSamplesExceeded .add (other .samplesRejectedForMaxSamplesExceeded .longValue ());
434- result .samplesRejectedForCondition .add (this .samplesRejectedForCondition .longValue ());
435- result .samplesRejectedForCondition .add (other .samplesRejectedForCondition .longValue ());
436- result .samplesRejectedForRate .add (this .samplesRejectedForRate .longValue ());
437- result .samplesRejectedForRate .add (other .samplesRejectedForRate .longValue ());
438- result .samplesRejectedForException .add (this .samplesRejectedForException .longValue ());
439- result .samplesRejectedForException .add (other .samplesRejectedForException .longValue ());
440- result .samples .add (this .samples .longValue ());
441- result .samples .add (other .samples .longValue ());
442- result .timeSampling .add (this .timeSampling .longValue ());
443- result .timeSampling .add (other .timeSampling .longValue ());
444- result .timeEvaluatingCondition .add (this .timeEvaluatingCondition .longValue ());
445- result .timeEvaluatingCondition .add (other .timeEvaluatingCondition .longValue ());
446- result .timeCompilingCondition .add (this .timeCompilingCondition .longValue ());
447- result .timeCompilingCondition .add (other .timeCompilingCondition .longValue ());
448- result .lastException = this .lastException != null ? this .lastException : other .lastException ;
430+ addAllFields (this , result );
431+ addAllFields (other , result );
449432 return result ;
450433 }
451434
435+ private static void addAllFields (SampleStats source , SampleStats dest ) {
436+ dest .potentialSamples .add (source .potentialSamples .longValue ());
437+ dest .samplesRejectedForMaxSamplesExceeded .add (source .samplesRejectedForMaxSamplesExceeded .longValue ());
438+ dest .samplesRejectedForCondition .add (source .samplesRejectedForCondition .longValue ());
439+ dest .samplesRejectedForRate .add (source .samplesRejectedForRate .longValue ());
440+ dest .samplesRejectedForException .add (source .samplesRejectedForException .longValue ());
441+ dest .samples .add (source .samples .longValue ());
442+ dest .timeSampling .add (source .timeSampling .longValue ());
443+ dest .timeEvaluatingCondition .add (source .timeEvaluatingCondition .longValue ());
444+ dest .timeCompilingCondition .add (source .timeCompilingCondition .longValue ());
445+ if (dest .lastException == null ) {
446+ dest .lastException = source .lastException ;
447+ }
448+ }
449+
452450 @ Override
453451 public XContentBuilder toXContent (XContentBuilder builder , ToXContent .Params params ) throws IOException {
454452 builder .startObject ();
0 commit comments