protected override string DoGetPosition(InsertionDeletionItem minInsDel)
 {
     return(string.Format("{0}-{1}", minInsDel.Start, minInsDel.End));
 }
 protected override long DoGetDistance(InsertionDeletionItem insDel, long position)
 {
     return(Math.Min(Math.Abs(insDel.Start - position), Math.Abs(insDel.End - position)));
 }
 protected abstract long DoGetDistance(InsertionDeletionItem insDel, long position);
 protected abstract string DoGetPosition(InsertionDeletionItem minInsDel);
 protected override string DoGetPosition(InsertionDeletionItem minInsDel)
 {
     return(minInsDel.Start.ToString());
 }