Created IsolationNode class

This class is a wrapper around the HardwareRegister objects and other
Register objects that will do isolation of active attentions.

Change-Id: I08b0955d59a6e278f51fd6bcac7b29c986c0770b
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/isolator/hei_isolator.cpp b/src/isolator/hei_isolator.cpp
index becd1b1..e977054 100644
--- a/src/isolator/hei_isolator.cpp
+++ b/src/isolator/hei_isolator.cpp
@@ -1,5 +1,6 @@
 
 #include <isolator/hei_isolator.hpp>
+#include <isolator/hei_isolation_node.hpp>
 #include <register/hei_hardware_register.hpp>
 #include <util/hei_flyweight.hpp>
 
@@ -40,15 +41,15 @@
 
 void Isolator::uninitialize()
 {
+    // Remove all of the IsolationNode objects stored in the flyweights. This
+    // must be done before removing the HardwareRegister objects
+    Flyweight<IsolationNode>::getSingleton().clear();
+
     // Must flush the hardware register cache before deleting any
     // HardwareRegister objects.
     HardwareRegister::flushAll();
 
-    // BEGIN temporary code
-    HEI_INF( "Isolator::uninitialize()" );
-    // END temporary code
-
-    // Remove all of the isolation objects stored in the flyweights.
+    // Remove all of the HardwareRegister objects stored in the flyweights.
     Flyweight<ScomRegister>::getSingleton().clear();
     Flyweight<IdScomRegister>::getSingleton().clear();
 }