add method
- 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;
}