I still don't understand how this works. How does it compress a name like say "java.util.Vector" if that isn't in my imports? Shouldn't this just use the imports rather than this chain of if/else calls?