code: private boolean applyConcept(RuleSet ruleSet, Concept concept, Severity severity) throws RuleException {
          Boolean result = executedConcepts.get(concept);
          if (result == null) {
              if (applyRequiredConcepts(ruleSet, concept)) {
                  result = ruleVisitor.visitConcept(concept, severity);
              } else {
                  ruleVisitor.skipConcept(concept, severity);
                  result = false;
              }
              executedConcepts.put(concept, result);
          }
          return result;
      }
docs: Applies the given concept.
  
  @param concept
  The concept.
  @throws RuleException
  If the concept cannot be applied.