if(!unsafe.containsKey(ident))
if(!unsafeField.contains(ident))
                    public Object visitArrayAccessExpression(JArrayAccessExpression self2,                                                             JExpression prefix,                                                             JExpression accessor) {                        if(!deadend) {                            accessor.accept(this);                            //if((prefix instanceof JLocalVariableExpression)&&(!unsafe.containsKey(((JLocalVariableExpression)prefix).getVariable())))                            if(prefix instanceof JLocalVariableExpression) {                                JLocalVariable var=((JLocalVariableExpression)prefix).getVariable();                                if(!(unsafe.containsKey(var) || (var instanceof JFormalParameter)))                                    if(accessor instanceof JIntLiteral) {                                        HashMap<Integer, Boolean> map=targets.get(var);                                        if(map==null) {                                            map=new HashMap<Integer, Boolean>();                                            targets.put(var,map);                                        }                                        map.put(new Integer(((JIntLiteral)accessor).intValue()),Boolean.TRUE);                                    } else {                                        targets.remove(var);                                        unsafe.put(var,Boolean.TRUE);                                    }                            } else if(!init&&(prefix instanceof JFieldAccessExpression)&&(((JFieldAccessExpression)prefix).getPrefix() instanceof JThisExpression)) {                                String ident=((JFieldAccessExpression)prefix).getIdent();                                if(!unsafe.containsKey(ident))                                    if(accessor instanceof JIntLiteral) {                                        HashMap<Integer, Boolean> map=targetsField.get(ident);                                        if(map==null) {                                            map=new HashMap<Integer, Boolean>();                                            targetsField.put(ident,map);                                        }                                        map.put(new Integer(((JIntLiteral)accessor).intValue()),Boolean.TRUE);                                    } else {                                        targetsField.remove(ident);                                        unsafe.put(ident,Boolean.TRUE);                                    }                            } else {                                deadend=true;                                prefix.accept(this);                                deadend=false;                            }                        } else {                            prefix.accept(this);                            accessor.accept(this);                        }                        return self2;                    }