/**
  * Used to determine if a soar production matches Working Memory
  *
  * @param sv the SoarIdentifierVertex in WorkingMemory currently checking
  * @param sp the Soar Production to check
  * @return a list of errors
  * @see DefaultCheckerErrorHandler
  * @see
  *     DataMapChecker#check(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler)
  */
 public List checkProduction(SoarIdentifierVertex sv, SoarProduction sp) {
   TriplesExtractor triplesExtractor = new TriplesExtractor(sp);
   DefaultCheckerErrorHandler dceh =
       new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine());
   DataMapChecker.check(this, sv, triplesExtractor, dceh);
   return dceh.getErrors();
 }
 /**
  * Used by the Generate Productions actions to look for holes in Working Memory and fix those
  * holes.
  *
  * @param sv the SoarIdentifierVertex in WorkingMemory currently checking
  * @param sp the Soar Production to check
  * @param current the node being examined
  * @return a list of errors
  * @see DefaultCheckerErrorHandler
  * @see
  *     DataMapChecker#complete(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler,OperatorNode)
  */
 public List checkGenerateProduction(
     SoarIdentifierVertex sv, SoarProduction sp, OperatorNode current) {
   TriplesExtractor triplesExtractor = new TriplesExtractor(sp);
   DefaultCheckerErrorHandler dceh =
       new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine());
   DataMapChecker.complete(this, sv, triplesExtractor, dceh, current);
   return dceh.getErrors();
 }
 /**
  * Used to determine if a soar production matches Working Memory This function will also generate
  * a log file to keep track of production checking
  *
  * @param sv the SoarIdentifierVertex in WorkingMemory currently checking
  * @param sp the Soar Production to check
  * @param fw the log file that is being written too - "CheckingProductions.log"
  * @return a list of errors
  * @see DefaultCheckerErrorHandler
  * @see
  *     DataMapChecker#check(SoarWorkingMemoryModel,SoarIdentifierVertex,TriplesExtractor,DefaultCheckerErrorHandler)
  */
 public List checkProductionLog(SoarIdentifierVertex sv, SoarProduction sp, FileWriter fw) {
   TriplesExtractor triplesExtractor = new TriplesExtractor(sp);
   try {
     fw.write("Extracted the triples for the production " + sp.getName());
     fw.write('\n');
   } catch (IOException ioe) {
     ioe.printStackTrace();
   }
   DefaultCheckerErrorHandler dceh =
       new DefaultCheckerErrorHandler(sp.getName(), sp.getStartLine());
   DataMapChecker.checkLog(this, sv, triplesExtractor, dceh, fw);
   return dceh.getErrors();
 }