code: public static boolean invoke(PageContext pc, String[] varNames, boolean allowNull) {
  	int scope = VariableInterpreter.scopeString2Int(pc.ignoreScopes(), varNames[0]);
  
  	Object defVal = allowNull ? Null.NULL : null;
  	try {
  	    Object coll = VariableInterpreter.scope(pc, scope, false);
  	    // Object coll =pc.scope((int)scope);
  	    for (int i = scope == Scope.SCOPE_UNDEFINED ? 0 : 1; i < varNames.length; i++) {
  		coll = pc.getVariableUtil().getCollection(pc, coll, varNames[i], defVal);
  		if (coll == defVal) return false;
  	    }
  	}
  	catch (Throwable t) {
  	    ExceptionUtil.rethrowIfNecessary(t);
  	    return false;
  	}
  	return true;
      }
docs: used for older compiled code in ra files