String signature= value.getSignature();
IJavaType type= value.getJavaType(); String signature= null; if (type != null) { signature= type.getSignature(); }
	protected String getValueText(IJavaValue value) throws DebugException {		IPreferenceStore store= JavaPlugin.getDefault().getPreferenceStore();		boolean showHexValues= store.getBoolean(IPreferencesConstants.SHOW_HEX_VALUES);				boolean showCharValues= store.getBoolean(IPreferencesConstants.SHOW_CHAR_VALUES);		boolean showUnsignedValues= store.getBoolean(IPreferencesConstants.SHOW_UNSIGNED_VALUES);				String refTypeName= value.getReferenceTypeName();		String valueString= value.getValueString();		boolean isString= refTypeName.equals(fgStringName);		String signature= value.getSignature();		if ("V".equals(signature)) {			valueString= getResourceString(NO_RETURN_VALUE);		}		boolean isObject= isObjectValue(signature);		boolean isArray= getArrayDimension(signature) > 0 ? true : false;		StringBuffer buffer= new StringBuffer();		// Always show type name for objects & arrays (but not Strings)		if ((isObject || isArray) && !isString && (refTypeName.length() > 0)) {			String qualTypeName= getQualifiedName(refTypeName);			if (isArray) {				qualTypeName= adjustTypeNameForArrayIndex(qualTypeName, value.getArrayLength());			}			buffer.append(qualTypeName);			buffer.append(' ');		}				// Put double quotes around Strings		if (valueString != null && (isString || valueString.length() > 0)) {			if (isString) {				buffer.append('"');			}			buffer.append(valueString);			if (isString) {				buffer.append('"');			}		}				// show unsigned value second, if applicable		if (showUnsignedValues) {			buffer= appendUnsignedText(value, buffer);		}		// show hex value third, if applicable		if (showHexValues) {			buffer= appendHexText(value, buffer);		}		// show byte character value last, if applicable		if (showCharValues) {			buffer= appendCharText(value, buffer);		}				return buffer.toString();	}