public boolean retractFactFromRete(Object ob) throws ComponentException {
   boolean result;
   try {
     IWorkingMemory reteWorkingMemory = ruleBase.newWorkingMemory();
     reteWorkingMemory.retractObject(ob);
     result = true;
   } catch (RuleComponentException rce) {
     throw new ComponentException(rce.getMessage());
   }
   return result;
 }
  public List<IRuleClass> executeRules(Object[] ob) throws ComponentException {
    System.out.println("-------Inside Execute RULES---rulebase=" + ruleBase);
    System.out.println("-------Inside Execute RULES---object=" + ob);

    try {
      IWorkingMemory reteWorkingMemory = ruleBase.newWorkingMemory();
      reteWorkingMemory.assertObject(ob);
      return reteWorkingMemory.executeRules();
    } catch (RuleComponentException rce) {
      throw new ComponentException(rce.getMessage());
    }
  }