Bug 27075 ViewerSorter could maybe lazily initialize Collator
calling JavaElementSorter creates a lot of new objects (ViewerSorter calls Collator.getInstance() which is the culprit) so maybe fSorter could be initialized lazily
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementSorter.java
int flags= ((IInitializer) je).getFlags();
							if (Flags.isStatic(flags))
								return MEMBERSOFFSET + MembersOrderPreferencePage.getOffset(MembersOrderPreferencePage.STATIC_INIT_INDEX);
							else
								return MEMBERSOFFSET + MembersOrderPreferencePage.getOffset(MembersOrderPreferencePage.INIT_INDEX);
						}
					case IJavaElement.TYPE :
						return MEMBERSOFFSET + MembersOrderPreferencePage.getOffset(MembersOrderPreferencePage.TYPE_INDEX);
					case IJavaElement.PACKAGE_DECLARATION :
						return PACKAGE_DECL;
					case IJavaElement.IMPORT_CONTAINER :
						return IMPORT_CONTAINER;
					case IJavaElement.IMPORT_DECLARATION :
						return IMPORT_DECLARATION;
					case IJavaElement.PACKAGE_FRAGMENT :
						IPackageFragment pack= (IPackageFragment) je;
						if (pack.getParent().getResource() instanceof IProject) {
							return PACKAGEFRAGMENTROOTS;
						}
						return PACKAGEFRAGMENT;
					case IJavaElement.PACKAGE_FRAGMENT_ROOT :
						return PACKAGEFRAGMENTROOTS;
					case IJavaElement.JAVA_PROJECT :
						return JAVAPROJECTS;
					case IJavaElement.CLASS_FILE :
						return CLASSFILES;
					case IJavaElement.COMPILATION_UNIT :
						return COMPILATIONUNITS;
				}
			} catch (JavaModelException e) {