add method

SpanBuilder add(
  1. SpanEntity newEntity
)

we sort entities when we add them, if any of the entities is overlapping, we throw StateError

Implementation

SpanBuilder add(SpanEntity newEntity) {
  var index = 0;
  for (final entity in _entities) {
    if (entity.overlaps(newEntity)) {
      throw StateError(
          "Unable to add $newEntity. Overlaps with existing $entity");
    }
    if (newEntity.end <= entity.start) {
      break;
    }
    index++;
  }
  _entities.insert(index, newEntity);
  return this;
}