class AbstractPolicyEvaluator implements PolicyEvaluator {

    protected QueryManager qm;

    public void setQueryManager(final QueryManager qm) {
        this.qm = qm;
    }

    protected List<PolicyCondition> extractSupportedConditions(final Policy policy) {<FILL_FUNCTION_BODY>}

}

        if (policy == null || policy.getPolicyConditions() == null) {
            return new ArrayList<>();
        } else {
            return policy.getPolicyConditions().stream()
                    .filter(p -> supportedSubject() == p.getSubject())
                    .collect(Collectors.toList());
        }
    
<no_super_class>