public CellElapsedFormatter(String pattern) {super(pattern);specs = new ArrayList<>();StringBuffer desc = CellFormatPart.parseFormat(pattern,CellFormatType.ELAPSED, new ElapsedPartHandler());ListIterator<TimeSpec> it = specs.listIterator(specs.size());while (it.hasPrevious()) {TimeSpec spec = it.previous();desc.replace(spec.pos, spec.pos + spec.len, "%0" + spec.len + "d");if (spec.type != topmost.type) {spec.modBy = modFor(spec.type, spec.len);}}printfFmt = desc.toString();}

public CellElapsedFormatter(String pattern): base(pattern){specs = new List<TimeSpec>();StringBuilder desc = CellFormatPart.ParseFormat(pattern,CellFormatType.ELAPSED, new ElapsedPartHandler(this));for(int i=specs.Count-1;i>=0;i--){TimeSpec spec = specs[i];desc.Remove(spec.pos, spec.len);desc.Insert(spec.pos, "D" + spec.len);if (spec.type != topmost.type){spec.modBy = modFor(spec.type, spec.len);}}printfFmt = desc.ToString();}
