org_apache_struts2_session_StrutsJUnit4SessionTestCaseTest_java
freemarker.template.SimpleHash
@Override
    public TemplateModel get(String key) throws TemplateModelException {
        Object result;
        try {
            result = this.map.get(key);
        }
        catch (ClassCastException e) {
            throw new _TemplateModelException((Throwable)e, "ClassCastException while getting Map entry with String key ", new _DelayedJQuote((Object)key));
        }
        catch (NullPointerException e) {
            throw new _TemplateModelException((Throwable)e, "NullPointerException while getting Map entry with String key ", new _DelayedJQuote((Object)key));
        }
        Object putKey = null;
        if (result == null) {
            if (key.length() == 1 && !(this.map instanceof SortedMap)) {
                Character charKey = Character.valueOf(key.charAt(0));
                try {
                    result = this.map.get(charKey);
                    if (result != null || this.map.containsKey(charKey)) {
                        putKey = charKey;
                    }
                }
                catch (ClassCastException e) {
                    throw new _TemplateModelException((Throwable)e, "ClassCastException while getting Map entry with Character key ", new _DelayedJQuote((Object)key));
                }
                catch (NullPointerException e) {
                    throw new _TemplateModelException((Throwable)e, "NullPointerException while getting Map entry with Character key ", new _DelayedJQuote((Object)key));
                }
            }
            if (putKey == null) {
                if (!this.map.containsKey(key)) {
                    return null;
                }
                putKey = key;
            }
        } else {
            putKey = key;
        }
        if (result instanceof TemplateModel) {
            return (TemplateModel)result;
        }
        TemplateModel tm = this.wrap(result);
        if (!this.putFailed) {
            try {
                this.map.put(putKey, tm);
            }
            catch (Exception e) {
                this.putFailed = true;
            }
        }
        return tm;
    }
 -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.length(): int -> java.util.Map.containsKey(java.lang.Object): boolean
 [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.length(): int -> java.util.Map.containsKey(java.lang.Object): boolean [EXIT]