A dynamic adaptive framework for Case-Based Reasoning: Dynamic Learning and indexing the new knowledge in a Dynamic Adaptive Case Library, for static and dynamic domains