public Variable getVariableValue(String varName) {
        if(varName.equalsIgnoreCase("true") || varName.equalsIgnoreCase("false")) {
            return new Variable<String>(varName);
        }

        if(varName.contains(".")) {
            String[] parts = varName.split("\\.");

            String object = parts[0];
//            System.out.println(object);
            HObject hObject = (HObject) variables.get(object).getValue();

//            System.out.println(hObject.getVariable(parts[1]));
            return new Variable<String>(hObject.getVariable(parts[1]).toString());

        }

        if(variables.containsKey(varName)) {
            return variables.get(varName);
        } else {
            return new Variable<String>("null");
        }
    }