1. A method for processing annotations added to a base document comprising: receiving, by an annotation handling computing system, an input that identifies elements added to the base document, the elements including a stroke or a group of strokes, the stroke being an individual mark created by a user on the base document; classifying, by the annotation handling computing system, classifying one or more annotations added to the base document based on the received input; and generating, by the annotation handling computing system, an output that represents a result of the classifying, the output comprising a hierarchical tree of annotations independent of the base document, the hierarchical tree of annotations identifying different classified types of annotations using different respective types of nodes, wherein: each of a highlight annotation, an underline annotation, a vertical bracket annotation and a blob annotation in the hierarchical tree of annotations includes: a node identifying a respective type of annotation; a node representing context of the respective annotation; and one node representing strokes that comprise the respective annotation; a free-note annotation includes an ink pile node composed of a series of strokes, writing words, writing lines, or writing paragraphs of the base document that correspond to a free-node annotation; and a call-out annotation includes a connector node and the ink pile node, the connector node representing a connector stroke associating the ink pile node with a portion of the base document.