if (conds == null) continue;
	public boolean implies(Permission perm) {		processPending();		boolean newEmpty = !satisfiedCPS.isNonEmpty();		if (!newEmpty && satisfiedCPS.implies(perm)) {			this.empty = false;			return true;		}		boolean satisfied = false;		Vector unevalCondsSets = null;		SecurityManager sm = System.getSecurityManager();		FrameworkSecurityManager fsm = null;		if (sm instanceof FrameworkSecurityManager) {			fsm = (FrameworkSecurityManager) sm;		}		ConditionalPermissionSet cpsArray[] = (ConditionalPermissionSet[]) satisfiableCPSs.toArray(new ConditionalPermissionSet[0]);		cpsLoop: for (int i = 0; i < cpsArray.length; i++) {			if (cpsArray[i].isNonEmpty()) {				newEmpty = false;				Condition conds[] = cpsArray[i].getNeededConditions();				// check mutable !isPostponed conditions first; 				// note that !mutable conditions have already been evaluated				for (int j = 0; j < conds.length; j++)					if (conds[j] != null && !conds[j].isPostponed() && !conds[j].isSatisfied())						continue cpsLoop;				// check the implies now				if (cpsArray[i].implies(perm)) {					// the permission is implied; the only unevaluated conditions left are mutable postponed conditions					// postpone their evaluation until the end					Vector unevaluatedConds = null;					for (int j = 0; j < conds.length; j++) {						if (conds[j] != null && conds[j].isPostponed()) {							if (fsm == null) {								// If there is no FrameworkSecurityManager, we must evaluate now								if (!conds[j].isSatisfied())									continue cpsLoop;							} else {								if (unevaluatedConds == null)									unevaluatedConds = new Vector();								unevaluatedConds.add(conds[j]);							}						}					}					if (unevaluatedConds == null) {						// no postponed conditions exist return true now						this.empty = false;						return true;					}					if (unevalCondsSets == null)						unevalCondsSets = new Vector(2);					unevalCondsSets.add(unevaluatedConds.toArray(new Condition[0]));					satisfied = true;				}			} else {				satisfiableCPSs.remove(cpsArray[i]);			}		}		this.empty = newEmpty;		if (satisfied && fsm != null) {			// There must be at least one set of Conditions to evaluate since			// we didn't return right we we realized the permission was satisfied			// so unevalCondsSets must be non-null.			Condition[][] condArray = (Condition[][]) unevalCondsSets.toArray(new Condition[0][]);			satisfied = fsm.addConditionsForDomain(condArray);		}		return satisfied;	}