Fix a few possible NPEs
diff --git a/org.eclipse.neoscada.da.server.exporter.iec60870/src/org/eclipse/neoscada/da/server/exporter/iec60870/DataModelImpl.java b/org.eclipse.neoscada.da.server.exporter.iec60870/src/org/eclipse/neoscada/da/server/exporter/iec60870/DataModelImpl.java
index 16c3d11..10e9f92 100644
--- a/org.eclipse.neoscada.da.server.exporter.iec60870/src/org/eclipse/neoscada/da/server/exporter/iec60870/DataModelImpl.java
+++ b/org.eclipse.neoscada.da.server.exporter.iec60870/src/org/eclipse/neoscada/da/server/exporter/iec60870/DataModelImpl.java
@@ -333,11 +333,13 @@
     @Override
     public synchronized void start ()
     {
+        super.start ();
+
+        // initialize after the executor has been initialized
+
         this.manager = new SingleSubscriptionManager ( this.executor, this.hiveSource, this.hiveProperties, "IEC60870/DataModel" );
         this.manager.start ();
 
-        super.start ();
-
         attach ( this.entries );
     }
 
diff --git a/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/AbstractSubscriptionManager.java b/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/AbstractSubscriptionManager.java
index 5be1b99..6d9c3d7 100644
--- a/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/AbstractSubscriptionManager.java
+++ b/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/AbstractSubscriptionManager.java
@@ -7,9 +7,12 @@
  *
  * Contributors:
  *     IBH SYSTEMS GmbH - initial API and implementation
+ *     Red Hat Inc - fixing bugs
  *******************************************************************************/
 package org.eclipse.scada.da.server.exporter.common;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -110,7 +113,7 @@
     {
         this.properties = properties;
         this.hiveSource = hiveSource;
-        this.executor = executor;
+        this.executor = requireNonNull ( executor );
         this.logName = logName;
     }
 
diff --git a/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/SingleSubscriptionManager.java b/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/SingleSubscriptionManager.java
index 9e5ed29..0e1db9e 100644
--- a/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/SingleSubscriptionManager.java
+++ b/org.eclipse.scada.da.server.exporter.common/src/org/eclipse/scada/da/server/exporter/common/SingleSubscriptionManager.java
@@ -11,6 +11,8 @@
  *******************************************************************************/
 package org.eclipse.scada.da.server.exporter.common;
 
+import static java.util.Objects.requireNonNull;
+
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -44,7 +46,7 @@
     public SingleSubscriptionManager ( final ScheduledExecutorService executor, final HiveSource hiveSource, final Properties properties, final String logName )
     {
         super ( hiveSource, properties, executor, logName );
-        this.executor = executor;
+        this.executor = requireNonNull ( executor );
     }
 
     @Override