diff --git a/src/main/jastadd/distribution/DistributedPN.jadd b/src/main/jastadd/distribution/DistributedPN.jadd
index fa40c9aa5c3970ac8eb62f724df20a0828f034e4..3c24f07d41b8d5afaacb92812d387ae47c19d4ca 100644
--- a/src/main/jastadd/distribution/DistributedPN.jadd
+++ b/src/main/jastadd/distribution/DistributedPN.jadd
@@ -3,17 +3,27 @@ aspect PnDistribution {
     syn lazy TransitionInformation InputSignalTransition.getStaticTransitionInformation() {
 
         if(this.getMutualTransitionInformation() == null){
-            TransitionInformation tInfo=de.tudresden.inf.st.pnml.ToolSpecificsParser.getTransitionInformation(this.getToolspecificList());
+            TransitionInformation tInfo = de.tudresden.inf.st.pnml.ToolSpecificsParser.getTransitionInformation(this.getToolspecificList());
             return tInfo;
         }
 
         return this.getMutualTransitionInformation();
     }
 
-    syn lazy PlaceInformation OutputSignalPlace.getPlaceInformation() {
+   /*  syn lazy PlaceInformation OutputSignalPlace.getPlaceInformation() {
 
         PlaceInformation pInfo = de.tudresden.inf.st.pnml.ToolSpecificsParser.getPlaceInformation(this.getToolspecificList());
 
         return pInfo;
+    }*/
+
+    syn lazy PlaceInformation OutputSignalPlace.getStaticTransitionInformation() {
+
+        if(this.getMutualPlaceInformation() == null){
+            PlaceInformation tInfo = de.tudresden.inf.st.pnml.ToolSpecificsParser.getPlaceInformationInformation(this.getToolspecificList());
+            return tInfo;
+        }
+
+        return this.getMutualPlaceInformation();
     }
 }
\ No newline at end of file
diff --git a/src/main/jastadd/io/IoPN.relast b/src/main/jastadd/io/IoPN.relast
index 8adfab59d73ca497a0895c574cea2ce81171ca3c..014ee8a2ef3349b8027ca7781f8cae4edf582007 100644
--- a/src/main/jastadd/io/IoPN.relast
+++ b/src/main/jastadd/io/IoPN.relast
@@ -1,13 +1,13 @@
 InputSignalBinding : PnObject ::= <TransitionID:String> <InputSignalID:String> <InputSignalValue:int>;
 OutputSignalBinding : PnObject ::= <PlaceID:String> <OutputSignalID:String> /<OutputSignalValue:String>/ EqualityOM:EqualityOutputMapping* ThresholdOM:ThresholdOutputMapping* RangeOM:RangeOutputMapping*;
 
-TransitionInformation ::= <Location:String> <Type:String> <InputLimit:java.lang.Integer> <OutputLimit:java.lang.Integer> <SubNet:String>;
+TransitionInformation ::= <Location:String> <Type:String> <InputLimit:java.lang.Integer> <OutputLimit:java.lang.Integer> <SubNet:String> <Instance:String>;
 TopicTransitionInformation : TransitionInformation ::= <Topic:String>;
 ServiceTransitionInformation : TransitionInformation ::= <ServiceName:String>;
-PlaceInformation ::= <Location:String> <Type:String> <SubNet:String>;
+PlaceInformation ::= <Location:String> <Type:String> <SubNet:String> <Instance:String>;
 
 InputSignalTransition : Transition ::= /StaticInputSignalBinding:InputSignalBinding*/ MutualInputSignalBinding:InputSignalBinding* /StaticTransitionInformation:TransitionInformation/ [MutualTransitionInformation:TransitionInformation];
-OutputSignalPlace : Place ::= /OutputSignalBinding*/;
+OutputSignalPlace : Place ::= /OutputSignalBinding*/ /StaticPlaceInformation:PlaceInformation/ [MutualPlaceInformation:PlaceInformation];
 
 OutputMapping;
 
diff --git a/src/main/java/de/tudresden/inf/st/pnml/Main.java b/src/main/java/de/tudresden/inf/st/pnml/Main.java
index ef35dfe138c420d5c2aea474cb7ce847cdcf5ad0..bed9d1f0fae070595edf25af24e55e1dbe7bf177 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/Main.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/Main.java
@@ -3,6 +3,7 @@ package de.tudresden.inf.st.pnml;
 import de.tudresden.inf.st.export.PnmlExporter;
 import de.tudresden.inf.st.pnml.jastadd.model.PetriNet;
 import de.tudresden.inf.st.postprocessing.GlobalToLocalNetsPostProcessor;
+import de.tudresden.inf.st.postprocessing.PostProcessingUtils;
 import fr.lip6.move.pnml.framework.utils.exception.InvalidIDException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,7 +36,7 @@ public class Main {
         for(int i = 0; i < disconnectedPetriNets.size(); i++){
             for(int j = 0; j < disconnectedPetriNets.get(i).size(); j++){
                 logger.info("Exporting splitted Petri net containing: ");
-                GlobalToLocalNetsPostProcessor.printNet(disconnectedPetriNets.get(i).get(j));
+                PostProcessingUtils.printNet(disconnectedPetriNets.get(i).get(j));
 
                 try {
                     PnmlExporter.serializeToPnmlFile(disconnectedPetriNets.get(i).get(j), "-pnml-net-" + i + "-" + j);
diff --git a/src/main/java/de/tudresden/inf/st/pnml/ToolSpecificsParser.java b/src/main/java/de/tudresden/inf/st/pnml/ToolSpecificsParser.java
index cb2030894f4bf7a2ffc390ea5c14263bbaf580e2..c51d1f4f1abf03580fd9e24b435c927690fe1342 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/ToolSpecificsParser.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/ToolSpecificsParser.java
@@ -222,6 +222,17 @@ public class ToolSpecificsParser {
         }
     }
 
+    public static PlaceInformation getPlaceInformationInformation(JastAddList<ToolInfo> toolInfos){
+
+        PlaceInformation placeInformation = new PlaceInformation();
+
+        placeInformation.setLocation(getLocationFromToolSpecifics(toolInfos));
+        placeInformation.setType(getTransitionTypeFromToolSpecifics(toolInfos));
+        placeInformation.setSubNet(getTransitionSubnetInfo(toolInfos));
+
+        return placeInformation;
+    }
+
     public static PlaceInformation getPlaceInformation(JastAddList<ToolInfo> toolInfos) {
 
         PlaceInformation pi = new PlaceInformation();
diff --git a/src/main/java/de/tudresden/inf/st/postprocessing/GlobalToLocalNetsPostProcessor.java b/src/main/java/de/tudresden/inf/st/postprocessing/GlobalToLocalNetsPostProcessor.java
index eee70f4ca471db90d5883eddcddb716686022c25..22ffbb702158abf4f3ba3cf16e50c86a93c772f1 100644
--- a/src/main/java/de/tudresden/inf/st/postprocessing/GlobalToLocalNetsPostProcessor.java
+++ b/src/main/java/de/tudresden/inf/st/postprocessing/GlobalToLocalNetsPostProcessor.java
@@ -36,8 +36,11 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
             // init list of distributed nets
             List<PetriNet> pns = new ArrayList<>();
 
-            // cut the channels
-            PetriNet cuttedNet = cutChannels(petriNet);
+            // cut the service transitions
+            PetriNet serviceCuttedNet = cutServiceTransitions(petriNet);
+
+            // cut the topic transitions
+            PetriNet cuttedNet = cutTopicTransitions(serviceCuttedNet);
             //logger.error("cuttedNet: --------------------------------------------");
             //printNet(cuttedNet);
 
@@ -77,8 +80,8 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
         Set<String> allLocations = new HashSet<>();
 
         for (Place place : petriNet.allPlaces()) {
-            if (place.asOutputSignalPlace().getPlaceInformation().getSubNet() != null) {
-                allLocations.add(place.asOutputSignalPlace().getPlaceInformation().getSubNet());
+            if (place.asOutputSignalPlace().getStaticTransitionInformation().getSubNet() != null) {
+                allLocations.add(place.asOutputSignalPlace().getStaticTransitionInformation().getSubNet());
             } else {
                 logger.error("Found place without location.");
             }
@@ -86,7 +89,48 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
         return allLocations;
     }
 
-    private static PetriNet cutChannels(PetriNet petriNet) {
+    private static PetriNet cutServiceTransitions(PetriNet petriNet) {
+
+        Set<Transition> transitionsToAdd = new HashSet<>();
+        Set<Transition> transitionsToRemove = new HashSet<>();
+
+        for (Transition transition : petriNet.allTransitions()) {
+
+            InputSignalTransition channelIst = transition.asInputSignalTransition();
+
+            // just process service transitions
+            if(channelIst.getStaticTransitionInformation().isServiceTransitionInformation()
+                    && channelIst.getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST)){
+
+                int numInArcs = channelIst.getInArcList().toArray(new Arc[0]).length;
+
+                // STEP 1: Get location/subnet of source/target - places
+                String inLocation = null;
+                String outLocation = null;
+                String inSubNet = null;
+                String outSubNet = null;
+
+                for (Place p : channelIst.incomingPlaces()) {
+                    inLocation = p.asOutputSignalPlace().getStaticTransitionInformation().getLocation();
+                    inSubNet = p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet();
+                    break;
+                }
+
+                for (Place p : channelIst.outgoingPlaces()) {
+                    outLocation = p.asOutputSignalPlace().getStaticTransitionInformation().getLocation();
+                    outSubNet = p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet();
+                    break;
+                }
+
+                // STEP 2: Create new
+            }
+
+        }
+
+        return null;
+    }
+
+    private static PetriNet cutTopicTransitions(PetriNet petriNet) {
 
         //printNet(petriNet);
 
@@ -112,14 +156,14 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
                 String outSubNet = null;
 
                 for (Place p : channelIst.incomingPlaces()) {
-                    inLocation = p.asOutputSignalPlace().getPlaceInformation().getLocation();
-                    inSubNet = p.asOutputSignalPlace().getPlaceInformation().getSubNet();
+                    inLocation = p.asOutputSignalPlace().getStaticTransitionInformation().getLocation();
+                    inSubNet = p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet();
                     break;
                 }
 
                 for (Place p : channelIst.outgoingPlaces()) {
-                    outLocation = p.asOutputSignalPlace().getPlaceInformation().getLocation();
-                    outSubNet = p.asOutputSignalPlace().getPlaceInformation().getSubNet();
+                    outLocation = p.asOutputSignalPlace().getStaticTransitionInformation().getLocation();
+                    outSubNet = p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet();
                     break;
                 }
 
@@ -229,7 +273,7 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
         Set<String> removePlaceIds = new HashSet<>();
 
         for (Place place : separatedNet.allPlaces()) {
-            if (!place.asOutputSignalPlace().getPlaceInformation().getSubNet().equals(location)) {
+            if (!place.asOutputSignalPlace().getStaticTransitionInformation().getSubNet().equals(location)) {
                 removePlaceIds.add(place.getId());
             }
         }
@@ -249,7 +293,7 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
         }
 
         for (Place place : separatedNet.allPlaces()) {
-            if (!place.asOutputSignalPlace().getPlaceInformation().getSubNet().equals(location)) {
+            if (!place.asOutputSignalPlace().getStaticTransitionInformation().getSubNet().equals(location)) {
                 logger.info("removing place " + place.getId() + " from net");
                 place.removeSelf();
             }
@@ -359,71 +403,4 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
 
         return null;
     }
-
-    public static void printNet(PetriNet petriNet) {
-
-        logger.info("--------------- STRUCTURE ---------------");
-        logger.info("----------------- PLACES ----------------");
-
-        for (Place p : petriNet.allPlaces()) {
-            logger.info("Place " + p.asOutputSignalPlace().getName().getText() + " -- " + p.asOutputSignalPlace().getPlaceInformation().getSubNet());
-        }
-
-        logger.info("-------------- TRANSITIONS --------------");
-
-        for (Transition t : petriNet.allTransitions()) {
-
-            if(t.asInputSignalTransition().getStaticTransitionInformation().isServiceTransitionInformation()) {
-                logger.info("--- Transition: " + t.getName().getText() + " subnet: " + t.asInputSignalTransition().getStaticTransitionInformation().getSubNet()
-                        + " service: " + t.asInputSignalTransition().getStaticTransitionInformation().asServiceTransitionInformation().getServiceName() + " ---------");
-            }else{
-                logger.info("--- Transition: " + t.getName().getText() + " subnet: " + t.asInputSignalTransition().getStaticTransitionInformation().getSubNet()
-                        + " topic: " + t.asInputSignalTransition().getStaticTransitionInformation().asTopicTransitionInformation().getTopic() + " ---------");
-            }
-
-            for (Place p : t.asInputSignalTransition().incomingPlaces()) {
-
-                logger.info("------ Inputplace:  " + p.getName().getText() + " subnet: " + p.asOutputSignalPlace().getPlaceInformation().getSubNet() + " ---------");
-            }
-
-            for (Place p : t.asInputSignalTransition().outgoingPlaces()) {
-
-                logger.info("------ Outputplace: " + p.getName().getText() + " subnet: " + p.asOutputSignalPlace().getPlaceInformation().getSubNet() + " ---------");
-            }
-        }
-
-        logger.info("----------------- ARCS -----------------");
-
-        for (Arc a : petriNet.allArcs()) {
-
-            logger.info("Arc: " + a.getId() + " -- source: " + a.getSource().getName().getText() + " -- target: " + a.getTarget().getName().getText());
-        }
-
-        logger.info("--------------- T SIGNALS (STATIC)---------------");
-
-        for (Transition t : petriNet.allTransitions()) {
-            InputSignalTransition ist = t.asInputSignalTransition();
-
-            if (ist != null && ist.getStaticInputSignalBindingList() != null) {
-                ist.getStaticInputSignalBindingList().forEach(inputSignalBinding -> logger.info(" (" + t.getName().getText() + ") Signal: " + inputSignalBinding.getInputSignalID()));
-            }
-        }
-
-        logger.info("--------------- T SIGNALS (MUTUAL)---------------");
-
-        for (Transition t : petriNet.allTransitions()) {
-            InputSignalTransition ist = t.asInputSignalTransition();
-
-            if (ist != null && ist.getMutualInputSignalBindingList() != null) {
-                ist.getMutualInputSignalBindingList().forEach(inputSignalBinding -> logger.info(" (" + t.getName().getText() + ") Signal: " + inputSignalBinding.getInputSignalID()));
-            }
-        }
-
-        logger.info("--------------- TOOL SPECIFIC ---------------");
-
-        for (Transition t : petriNet.allTransitions()) {
-            InputSignalTransition ist = t.asInputSignalTransition();
-            logger.info("ToolSpecific: (" + ist.getName().getText() + ") " + ist.getToolspecific(0).getFormattedXMLBuffer().toString());
-        }
-    }
 }
diff --git a/src/main/java/de/tudresden/inf/st/postprocessing/PostProcessingUtils.java b/src/main/java/de/tudresden/inf/st/postprocessing/PostProcessingUtils.java
new file mode 100644
index 0000000000000000000000000000000000000000..432b969a58abf61b82187014c1f6a98165238b5a
--- /dev/null
+++ b/src/main/java/de/tudresden/inf/st/postprocessing/PostProcessingUtils.java
@@ -0,0 +1,202 @@
+package de.tudresden.inf.st.postprocessing;
+
+import de.tudresden.inf.st.constants.PnmlConstants;
+import de.tudresden.inf.st.pnml.jastadd.model.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+public class PostProcessingUtils {
+
+    private static final Logger logger = LoggerFactory.getLogger(PostProcessingUtils.class);
+
+    ///////////////////////////////
+    // NET INFORMATION ////////////
+    ///////////////////////////////
+
+    private static Set<Transition> getTransitionsBySubnet(String subNet, PetriNet petriNet){
+
+        return petriNet.allTransitions().stream().filter(t -> t.asInputSignalTransition()
+                .getStaticTransitionInformation().getSubNet().equals(subNet)).collect(Collectors.toSet());
+    }
+
+    private static Set<String> getTransitionIDsBySubnet(String subNet, PetriNet petriNet){
+
+        Set<String> transitionIds = new HashSet<>();
+
+        for(Transition t : getTransitionsBySubnet(subNet, petriNet)){
+            transitionIds.add(t.getId());
+        }
+
+        return transitionIds;
+    }
+
+    private static Set<String> getPlaceIDsBySubnet(String subNet, PetriNet petriNet){
+
+        Set<String> placeIds = new HashSet<>();
+
+        for(Place p : getPlacesBySubnet(subNet, petriNet)){
+            placeIds.add(p.getId());
+        }
+
+        return placeIds;
+    }
+
+    private static Set<Place> getPlacesBySubnet(String subNet, PetriNet petriNet){
+
+        return petriNet.allPlaces().stream().filter(t -> t.asOutputSignalPlace()
+                .getStaticTransitionInformation().getSubNet().equals(subNet)).collect(Collectors.toSet());
+    }
+
+    private static Set<Arc> getInternalArcsBySubnet(String subNet, PetriNet petriNet){
+
+        Set<Arc> internalArcs = new HashSet<>();
+        Set<String> subNetTransitionIds = getTransitionIDsBySubnet(subNet, petriNet);
+        Set<String> subNetPlaceIds = getPlaceIDsBySubnet(subNet, petriNet);
+
+
+        for(Arc arc : petriNet.allArcs()){
+            if((subNetTransitionIds.contains(arc.getSource().getId()) && subNetPlaceIds.contains(arc.getTarget().getId()))
+                    || (subNetTransitionIds.contains(arc.getTarget().getId()) && subNetPlaceIds.contains(arc.getSource().getId()))){
+                internalArcs.add(arc);
+            }
+        }
+
+        return internalArcs;
+    }
+
+    private static Set<Arc> getExternalArcsBySubnet(String subNet, PetriNet petriNet){
+
+        Set<Arc> externalArcs = new HashSet<>();
+        Set<String> subNetTransitionIds = getTransitionIDsBySubnet(subNet, petriNet);
+        Set<String> subNetPlaceIds = getPlaceIDsBySubnet(subNet, petriNet);
+
+        for(Arc arc : petriNet.allArcs()){
+            if(subNetTransitionIds.contains(arc.getSource().getId()) || subNetPlaceIds.contains(arc.getTarget().getId())
+                    || subNetTransitionIds.contains(arc.getTarget().getId()) || subNetPlaceIds.contains(arc.getSource().getId())){
+                externalArcs.add(arc);
+            }
+        }
+
+        return externalArcs;
+    }
+
+    ///////////////////////////////
+    // NET MANIPULATION ///////////
+    ///////////////////////////////
+
+    public static void setSubNetInstanceId(PetriNet petriNet, String subNet, String instanceId){
+
+        Set<Transition> subNetTransitions = getTransitionsBySubnet(subNet, petriNet);
+        Set<Place> subNetPlaces = getPlacesBySubnet(subNet, petriNet);
+
+        subNetTransitions.forEach(t -> {
+
+            if(t.asInputSignalTransition().getMutualTransitionInformation() == null){
+                // todo
+                t.asInputSignalTransition().getMutualTransitionInformation().setInstance(instanceId);
+            }
+        });
+        //subNetPlaces.forEach(p -> p.asOutputSignalPlace());
+
+    }
+
+    public static PetriNet copySubNet(PetriNet petriNet, String subNet, String instanceId){
+
+        Set<Transition> transitionsToAdd = new HashSet<>();
+        Set<Place> placesToRemove = new HashSet<>();
+        Set<Arc> arcsToRemove = new HashSet<>();
+
+
+
+
+
+        for (Transition transition : petriNet.allTransitions()) {
+
+            InputSignalTransition channelIst = transition.asInputSignalTransition();
+
+            // just process service transitions
+            if(channelIst.getStaticTransitionInformation().isServiceTransitionInformation()
+                    && channelIst.getStaticTransitionInformation().getType().equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST)){
+
+                int numInArcs = channelIst.getInArcList().toArray(new Arc[0]).length;
+            }
+
+        }
+        return null;
+    }
+
+    ///////////////////////////////
+    // LOGGING ////////////////////
+    ///////////////////////////////
+
+    public static void printNet(PetriNet petriNet) {
+
+        logger.info("--------------- STRUCTURE ---------------");
+        logger.info("----------------- PLACES ----------------");
+
+        for (Place p : petriNet.allPlaces()) {
+            logger.info("Place " + p.asOutputSignalPlace().getName().getText() + " -- " + p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet());
+        }
+
+        logger.info("-------------- TRANSITIONS --------------");
+
+        for (Transition t : petriNet.allTransitions()) {
+
+            if(t.asInputSignalTransition().getStaticTransitionInformation().isServiceTransitionInformation()) {
+                logger.info("--- Transition: " + t.getName().getText() + " subnet: " + t.asInputSignalTransition().getStaticTransitionInformation().getSubNet()
+                        + " service: " + t.asInputSignalTransition().getStaticTransitionInformation().asServiceTransitionInformation().getServiceName() + " ---------");
+            }else{
+                logger.info("--- Transition: " + t.getName().getText() + " subnet: " + t.asInputSignalTransition().getStaticTransitionInformation().getSubNet()
+                        + " topic: " + t.asInputSignalTransition().getStaticTransitionInformation().asTopicTransitionInformation().getTopic() + " ---------");
+            }
+
+            for (Place p : t.asInputSignalTransition().incomingPlaces()) {
+
+                logger.info("------ Inputplace:  " + p.getName().getText() + " subnet: " + p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet() + " ---------");
+            }
+
+            for (Place p : t.asInputSignalTransition().outgoingPlaces()) {
+
+                logger.info("------ Outputplace: " + p.getName().getText() + " subnet: " + p.asOutputSignalPlace().getStaticTransitionInformation().getSubNet() + " ---------");
+            }
+        }
+
+        logger.info("----------------- ARCS -----------------");
+
+        for (Arc a : petriNet.allArcs()) {
+
+            logger.info("Arc: " + a.getId() + " -- source: " + a.getSource().getName().getText() + " -- target: " + a.getTarget().getName().getText());
+        }
+
+        logger.info("--------------- T SIGNALS (STATIC)---------------");
+
+        for (Transition t : petriNet.allTransitions()) {
+            InputSignalTransition ist = t.asInputSignalTransition();
+
+            if (ist != null && ist.getStaticInputSignalBindingList() != null) {
+                ist.getStaticInputSignalBindingList().forEach(inputSignalBinding -> logger.info(" (" + t.getName().getText() + ") Signal: " + inputSignalBinding.getInputSignalID()));
+            }
+        }
+
+        logger.info("--------------- T SIGNALS (MUTUAL)---------------");
+
+        for (Transition t : petriNet.allTransitions()) {
+            InputSignalTransition ist = t.asInputSignalTransition();
+
+            if (ist != null && ist.getMutualInputSignalBindingList() != null) {
+                ist.getMutualInputSignalBindingList().forEach(inputSignalBinding -> logger.info(" (" + t.getName().getText() + ") Signal: " + inputSignalBinding.getInputSignalID()));
+            }
+        }
+
+        logger.info("--------------- TOOL SPECIFIC ---------------");
+
+        for (Transition t : petriNet.allTransitions()) {
+            InputSignalTransition ist = t.asInputSignalTransition();
+            logger.info("ToolSpecific: (" + ist.getName().getText() + ") " + ist.getToolspecific(0).getFormattedXMLBuffer().toString());
+        }
+    }
+}