private static String parenthesizedSuccessor(String inputString) {
		// variable for the currently moved character
		String movedChar;
		// variable for inner parentheses
		// If it is greater than zero, a found right parenthesis doesn't belong
		// to the first one.
		int innerPars = 0;
		String outputString = "";
		// Only if the String starts with (possibly a negation symbol and) a 
		// left parenthesis, it may start with a parenthesized successor.
		if (inputString.startsWith("(") || inputString.startsWith("-(")) {
			if (inputString.startsWith("(")) {
				// moving the left parenthesis to the output String
				movedChar = inputString.substring(0 ,1);
				inputString = inputString.substring(1);
			} else {
				// moving the negation symbol and the left parenthesis to the 
				// output String
				movedChar = inputString.substring(0 ,2);
				inputString = inputString.substring(2);
			}
			outputString = outputString.concat(movedChar);
			// As long as the input String isn't empty, the first character of 
			// it is moved to the output String.
			while (!inputString.isEmpty()) {
				// moving the first character
				movedChar = inputString.substring(0, 1);
				inputString = inputString.substring(1);
				outputString = outputString.concat(movedChar);
				// If the moved character is a left parenthesis, the number of 
				// inner parentheses is increased by one.
				if (movedChar.equals("(")) {
					innerPars++;
				}
				else if (movedChar.equals(")")) {
					// If the moved character is a right parenthesis and the 
					// number of inner parentheses is greater than zero, it is 
					// decreased by one.
					if (innerPars > 0) {
						innerPars--;
					}
					// If the moved character is a right parenthesis and the 
					// number of inner parentheses isn't greater than zero (it 
					// is zero then), the output String is returned.
					else return outputString;
				}
			}
		}
		// returning the empty String if the String doesn't start with a 
		// parenthesized successor
		return "";
	}