The LearningException class supports the
ILearning interface. Some methods within the interface will require implementations to throw a
LearningException which is a simple subclass of
java.lang.Exception. It is highly recommended for debugging purposes that the
LearningException be constructed with the root exception if a root exception exists.