The GedcomParser still loads the entire file into memory before parsing it into the object model - it used to do it twice: once into an ArrayList, which was loaded into a StringTree hierarchy, which was then parsed into the object model. The ArrayList was removed recently, but the entire file is still loaded into the StringTree object...which is really unnecessary. Each 0-level item can be parsed as a root-level node as soon as the next 0-level item is encountered, and once it's parsed, it can be discarded (and garbage collected!), which should save memory and be faster.
The GedcomParser still loads the entire file into memory before parsing it into the object model - it used to do it twice: once into an ArrayList, which was loaded into a StringTree hierarchy, which was then parsed into the object model. The ArrayList was removed recently, but the entire file is still loaded into the StringTree object...which is really unnecessary. Each 0-level item can be parsed as a root-level node as soon as the next 0-level item is encountered, and once it's parsed, it can be discarded (and garbage collected!), which should save memory and be faster.