code: @Override
      public void afterProblemFactRemoved(Object problemFact) {
          FactHandle factHandle = kieSession.getFactHandle(problemFact);
          if (factHandle == null) {
              throw new IllegalArgumentException("The problemFact (" + problemFact
                      + ") was never added to this ScoreDirector.\n"
                      + "Maybe that specific instance is not in the "
                      + PlanningSolution.class.getSimpleName() + "'s problem fact members ("
                      + getSolutionDescriptor().getProblemFactMemberAndProblemFactCollectionMemberNames() + ").\n"
                      + "Maybe first translate that external instance to the workingSolution's instance"
                      + " with " + ScoreDirector.class.getSimpleName() + ".lookUpWorkingObject().");
          }
          kieSession.delete(factHandle);
          super.afterProblemFactRemoved(problemFact);
      }
docs: public void beforeProblemFactRemoved(Object problemFact) // Do nothing