Every ASTPrinter contains a single field which is a Map<Integer,String>; This map is immutable and very dense. Using an array just makes more sense.