void stringSetup(String str) {
		StringBuilder buffer = new StringBuilder();
		int len = str.length();
		for (int i = 0; i < len; i++) {
			char ch = str.charAt(i);
			if (ch == '\\') {
				// get next character
				ch = str.charAt(++i);

				if (Character.isDigit(ch)) {
					int endPos = i;

					// check the next two characters
					int max = Math.min(i + 2, len - 1);
					while (endPos < max) {
						if (Character.isDigit(str.charAt(endPos + 1)))
							endPos++;
						else
							break;
					}

					ch = (char) Integer.parseInt(str.substring(i, endPos + 1), 8);
					i = endPos;
				} else
					ch = getEscapeChar(ch);
			}

			buffer.append(ch);
		}

		String s = buffer.toString();
		if (internStrings)
			s = s.intern();
		value = s;
	}