code: function mergeExtraSegments(context, segments) {
  		while (segments.length > context.count) {
  			var merged = [];
  
  			for (var i = 0, length = segments.length / 2 | 0; i < length; ++i) {
  				merged.push(CodePathSegment.newNext(
  					context.idGenerator.next(), [segments[i], segments[i + length]]
  				));
  			}
  			segments = merged;
  		}
  		return segments;
  	}
docs: `segments` becomes doubly in a `finally` block. Then if a code path exits by a
  control statement (such as `break`, `continue`) from the `finally` block, the
  destination's segments may be half of the source segments. In that case, this
  merges segments.
  
  @param {ForkContext} context - An instance.
  @param {CodePathSegment[]} segments - Segments to merge.
  @returns {CodePathSegment[]} The merged segments.