Bug 96532 JavaElementLabels#getTypeSignatureLabel(...) should handle capture
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/JavaElementLabels.java
/**
	 * Appends the label for a field to a {@link StringBuffer}. Considers the F_* flags.
	 * 	@param field The element to render.
	 * @param flags The rendering flags. Flags with names starting with 'F_' are considered.
	 * @param buf The buffer to append the resulting label to.
	 */	
	public static void getFieldLabel(IField field, long flags, StringBuffer buf) {
		try {
			if (getFlag(flags, F_PRE_TYPE_SIGNATURE) && field.exists() && !Flags.isEnum(field.getFlags())) {
				if (getFlag(flags, USE_RESOLVED) && field.isResolved() && !BUG_87362) {
					getTypeSignatureLabel(new BindingKey(field.getKey()).internalToSignature(), flags, buf);
				} else {
					getTypeSignatureLabel(field.getTypeSignature(), flags, buf);
				}
				buf.append(' ');
			}
			
			
			if (getFlag(flags, F_FULLY_QUALIFIED)) {
				getTypeLabel(field.getDeclaringType(), T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS), buf);
				buf.append('.');
			}
			buf.append(field.getElementName());
			
			if (getFlag(flags, F_APP_TYPE_SIGNATURE) && field.exists() && !Flags.isEnum(field.getFlags())) {
				buf.append(DECL_STRING);
				if (getFlag(flags, USE_RESOLVED) && field.isResolved() && !BUG_87362) {
					getTypeSignatureLabel(new BindingKey(field.getKey()).internalToSignature(), flags, buf);
				} else {
					getTypeSignatureLabel(field.getTypeSignature(), flags, buf);