I wonder why org.biojava.bio.annodb.AnnotationDB doesn't have a findById(String id) method. As it stands now, each time I need to find an anotatin, I have to loop through all the annotations. In general, we have to assume that they don't fit into the JVM memory. Then lookups are simply impractical on large set of annotations.