String getElementSymbol() {
		if (elementSymbol == null)
			if (atomName != null) {
				int len = atomName.length();
				int ichFirst = 0;
				char chFirst = 0;
				while (ichFirst < len && !isValidFirstSymbolChar(chFirst = atomName.charAt(ichFirst)))
					++ichFirst;
				switch (len - ichFirst) {
				case 0:
					break;
				default:
					char chSecond = atomName.charAt(ichFirst + 1);
					if (isValidElementSymbolNoCaseSecondChar(chFirst, chSecond)) {
						elementSymbol = "" + chFirst + chSecond;
						break;
					}
					// fall into
				case 1:
					if (isValidElementSymbol(chFirst))
						elementSymbol = "" + chFirst;
					break;
				}
			}
		return elementSymbol;
	}