result[3] = verifyQualifier((String) elements.elementAt(3));
result[3] = (String) elements.elementAt(3);
	private static Object[] parseVersion(String versionId) {		// Do the test outside of the assert so that they 'Policy.bind' 		// will not be evaluated each time (including cases when we would		// have passed by the assert).		if (versionId == null)			Assert.isNotNull(null, CommonMessages.parse_emptyPluginVersion);		String s = versionId.trim();		if (s.equals("")) //$NON-NLS-1$			Assert.isTrue(false, CommonMessages.parse_emptyPluginVersion);		if (s.startsWith(SEPARATOR))			Assert.isTrue(false, NLS.bind(CommonMessages.parse_separatorStartVersion, s));		if (s.endsWith(SEPARATOR))			Assert.isTrue(false, NLS.bind(CommonMessages.parse_separatorEndVersion, s));		if (s.indexOf(SEPARATOR + SEPARATOR) != -1)			Assert.isTrue(false, NLS.bind(CommonMessages.parse_doubleSeparatorVersion, s));		StringTokenizer st = new StringTokenizer(s, SEPARATOR);		Vector elements = new Vector(4);		while (st.hasMoreTokens())			elements.addElement(st.nextToken());		int elementSize = elements.size();		if (elementSize <= 0)			Assert.isTrue(false, NLS.bind(CommonMessages.parse_oneElementPluginVersion, s));		if (elementSize > 4)			Assert.isTrue(false, NLS.bind(CommonMessages.parse_fourElementPluginVersion, s));		int[] numbers = new int[3];		try {			numbers[0] = Integer.parseInt((String) elements.elementAt(0));			if (numbers[0] < 0)				Assert.isTrue(false, NLS.bind(CommonMessages.parse_postiveMajor, s));		} catch (NumberFormatException nfe) {			Assert.isTrue(false, NLS.bind(CommonMessages.parse_numericMajorComponent, s));		}		try {			if (elementSize >= 2) {				numbers[1] = Integer.parseInt((String) elements.elementAt(1));				if (numbers[1] < 0)					Assert.isTrue(false, NLS.bind(CommonMessages.parse_postiveMinor, s));			} else				numbers[1] = 0;		} catch (NumberFormatException nfe) {			Assert.isTrue(false, NLS.bind(CommonMessages.parse_numericMinorComponent, s));		}		try {			if (elementSize >= 3) {				numbers[2] = Integer.parseInt((String) elements.elementAt(2));				if (numbers[2] < 0)					Assert.isTrue(false, NLS.bind(CommonMessages.parse_postiveService, s));			} else				numbers[2] = 0;		} catch (NumberFormatException nfe) {			Assert.isTrue(false, NLS.bind(CommonMessages.parse_numericServiceComponent, s));		}		// "result" is a 4-element array with the major, minor, service, and qualifier		Object[] result = new Object[4];		result[0] = new Integer(numbers[0]);		result[1] = new Integer(numbers[1]);		result[2] = new Integer(numbers[2]);		if (elementSize >= 4)			result[3] = verifyQualifier((String) elements.elementAt(3));		else			result[3] = ""; //$NON-NLS-1$		return result;	}