docs: public Annotation createAnnotation(@NonNull AnnotationType type, int start, int end, @NonNull Map<AttributeType, ?> attributeMap) {
        Preconditions.checkArgument(start >= start(),
                                    "Annotation must have a starting position >= the start of the document");
        Preconditions.checkArgument(end <= end(), "Annotation must have a ending position <= the end of the document");
        Annotation annotation = new Annotation(this, type, start, end);
        annotation.setId(idGenerator.getAndIncrement());
        annotation.putAll(attributeMap);
        annotationSet.add(annotation);
        return annotation;
     }