}
public String parse(String content) {
List<Fragment> list = RPNUtils.getReversePolishNotation(content);
if (list.size() == 1) {
Fragment f = list.get(0);
return f.type == VARIABLE ? getVariable(f.value, "Boolean") : f.value;
}
Deque<Fragment> d = new LinkedList<Fragment>();
for (Fragment f : list) {
if (isSymbol(f.type)) {
Fragment right = d.pop();
Fragment left = d.pop();
Fragment ret = new Fragment();
switch (f.type) {
case ARITHMETIC_OPERATOR:
if (left.type == STRING || right.type == STRING) {
ret.type = STRING;
if (f.value.equals("+")) {