src/org/ohmage/config/grammar/custom/ConditionDepthFirst.java
@Override
    public void visit(Id n, A map) {
    	
    	// Lazy null check only occurs on the Id node because if it is non-null here, it will be non-null throughout the rest
    	// of the visitor process
    	if(! (map instanceof Map<?, ?>)) {
    		throw new IllegalArgumentException("argu parameter must be a Map");
    	}
    	
    	String tokenImage = n.f0.tokenImage;
    	currentId = tokenImage;
    	
    	@SuppressWarnings("unchecked")
		Map<String, List<String>> idValueMap = (Map<String, List<String>>) map; 
    	if(! idValueMap.containsKey(tokenImage)) {
    		idValueMap.put(tokenImage, new ArrayList<String>());
    	}
    	
        n.f0.accept(this, map);
    }
/**
     * f0 -> <TEXT>
     * 
     * Adds an entry for the Id token into the provided map, if the entry doesn't already exist. 
     * map must be a non-null Map<String, List<String>>.
     */


Adds an entry for the Id token into the provided map, if the entry doesn't already exist.
map must be a non-null Map>.
Adds an entry for the Id token into the provided map if the entry doesn ' t already exist . map must be a non - null Map > .
@Override
    public void visit(Id n, A map) {
    	if(! (map instanceof Map<?, ?>)) {
    		throw new IllegalArgumentException("argu parameter must be a Map");
    	}
    	String tokenImage = n.f0.tokenImage;
    	currentId = tokenImage;
    	@SuppressWarnings("unchecked")
		Map<String, List<String>> idValueMap = (Map<String, List<String>>) map; 
    	if(! idValueMap.containsKey(tokenImage)) {
    		idValueMap.put(tokenImage, new ArrayList<String>());
    	}
        n.f0.accept(this, map);
    }
@ Override public void visit ( Id n , A map ) { if ( ! ( map instanceof Map < ? , ? > ) ) { throw new IllegalArgumentException ( "argu parameter must be a Map" ) ; } String tokenImage = n . f0 . tokenImage ; currentId = tokenImage ; @ SuppressWarnings ( "unchecked" ) Map < String , List < String > > idValueMap = ( Map < String , List < String > > ) map ; if ( ! idValueMap . containsKey ( tokenImage ) ) { idValueMap . put ( tokenImage , new ArrayList < String > ( ) ) ; } n . f0 . accept ( this , map ) ; }
f0 -> <TEXT>
f0 - > <TEXT >
// Lazy null check only occurs on the Id node because if it is non-null here, it will be non-null throughout the rest // of the visitor process