It looks like there are several cases, where List.nil() is not used. Example is com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args list. This can save some memory especially in cases, where a lot of sources are parsed.
It looks like ListBuffer is creating this empty List instances.
Integrated into 'main-golden', will be available in build *201212140001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Jan Lahoda <email@example.com>
Log: #223094: updating nb-javac, to incorporate ListBuffer optimization