Bug 11314 Replace package name fragments should always be smaller
Build 20020214 If you enter "2~." in the 'Replace package name fragments with:' field in the preferences (Java->Work in progress), com.ibm.foobar is replaced with co~.ib~.foobar. I believe that package name compression should only replace a fragment if the compressed name is actually smaller. Thus com. would not be replaced in this example, since co~. is the same length, and contains less info.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/JavaElementLabels.java
* e.g. <code>java.util.Vector.{ ... }</code>
	 */
	public final static int I_FULLY_QUALIFIED= 1 << 7;
	
	/**
	 * Type names are post qualified.
	 * e.g. <code>{ ... } - java.util.Map</code>
	 */
	public final static int I_POST_QUALIFIED= 1 << 8;		
	
	/**
	 * Field names contain the declared type (appended)
	 * e.g. <code>int fHello</code>
	 */
	public final static int F_APP_TYPE_SIGNATURE= 1 << 9;
	
	/**
	 * Field names contain the declared type (prepended)
	 * e.g. <code>fHello : int</code>
	 */
	public final static int F_PRE_TYPE_SIGNATURE= 1 << 10;	
	/**
	 * Fields names are fully qualified.
	 * e.g. <code>java.lang.System.out</code>
	 */
	public final static int F_FULLY_QUALIFIED= 1 << 11;
	
	/**
	 * Fields names are post qualified.
	 * e.g. <code>out - java.lang.System</code>