diff --git a/src/plugins/adufour/protocols/gui/link/DragDropZone.java b/src/plugins/adufour/protocols/gui/link/DragDropZone.java
index ddc6c8158452dc837dcad8d1cd82d2c7edda2292..b7319cbdab7f2cd580474defdad6a65d83804cfd 100644
--- a/src/plugins/adufour/protocols/gui/link/DragDropZone.java
+++ b/src/plugins/adufour/protocols/gui/link/DragDropZone.java
@@ -1,8 +1,5 @@
 package plugins.adufour.protocols.gui.link;
 
-import icy.resource.ResourceUtil;
-import icy.sequence.Sequence;
-
 import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Graphics2D;
@@ -16,6 +13,8 @@ import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.TransferHandler;
 
+import icy.resource.ResourceUtil;
+import icy.sequence.Sequence;
 import plugins.adufour.blocks.lang.BlockDescriptor;
 import plugins.adufour.blocks.lang.WorkFlow;
 import plugins.adufour.vars.lang.Var;
@@ -27,88 +26,93 @@ import plugins.adufour.vars.util.VarListener;
 @SuppressWarnings("serial")
 public abstract class DragDropZone extends JButton implements VarListener<Boolean>, TypeChangeListener
 {
-    protected static final int DRAGnDROP_ACTION  = TransferHandler.LINK;
-    
-    public static final int    DEFAULT_ICON_SIZE = 13;
-    
-    public static final Image  LINK_RIGHT        = ResourceUtil.getAlphaIconAsImage("round_arrow_right.png");
-    
-    public static final Image  LINK_LEFT         = ResourceUtil.getAlphaIconAsImage("round_arrow_left.png");
-    
-    public static final Image  PIN_LEFT          = ResourceUtil.getAlphaIconAsImage("pin_map_left.png");
-    
-    public static final Image  PIN_RIGHT         = ResourceUtil.getAlphaIconAsImage("pin_map_right.png");
-    
-    public static final Image  BUTTON            = ResourceUtil.getAlphaIconAsImage("round.png");
-    
-    private final Var<?>       variable;
-    
-    private int                iconSize          = DEFAULT_ICON_SIZE;
-    
-    private Icon               defaultIcon;
-    
-    private final Icon         errorIcon;
-    
-    private final Icon         emptyIcon         = new ImageIcon(ResourceUtil.ICON_NULL);
-    
+    protected static final int DRAGnDROP_ACTION = TransferHandler.LINK;
+
+    public static final int DEFAULT_ICON_SIZE = 13;
+
+    public static final Image LINK_RIGHT = ResourceUtil.getAlphaIconAsImage("round_arrow_right.png");
+
+    public static final Image LINK_LEFT = ResourceUtil.getAlphaIconAsImage("round_arrow_left.png");
+
+    public static final Image PIN_LEFT = ResourceUtil.getAlphaIconAsImage("pin_map_left.png");
+
+    public static final Image PIN_RIGHT = ResourceUtil.getAlphaIconAsImage("pin_map_right.png");
+
+    public static final Image BUTTON = ResourceUtil.getAlphaIconAsImage("round.png");
+
+    private final Var<?> variable;
+
+    private int iconSize = DEFAULT_ICON_SIZE;
+
+    private Icon defaultIcon;
+
+    private final Icon errorIcon;
+
+    private final Icon emptyIcon = new ImageIcon(ResourceUtil.ICON_NULL);
+
     /**
      * Creates a new drop zone for the given variable
      * 
      * @param flowPane
-     *            the flow pane where variable links will come from
+     *        the flow pane where variable links will come from
      * @param block
-     *            the box that owns the specified input
+     *        the box that owns the specified input
      * @param input
-     *            the input variable to link to
+     *        the input variable to link to
      * @return
      */
     public static <T> DragDropZone createDropZone(Image image, WorkFlow workFlow, BlockDescriptor block, Var<T> input)
     {
         return new DropZone<T>(image, workFlow, block, input);
     }
-    
+
     /**
      * Creates a new drag zone for the given variable
      * 
      * @param workFlow
-     *            the work flow where variable links will go to
+     *        the work flow where variable links will go to
      * @param block
-     *            the box that owns the specified output
+     *        the box that owns the specified output
      * @param variable
-     *            the input variable to link
+     *        the input variable to link
      * @return
      */
-    public static <T> DragDropZone createDragZone(Image image, WorkFlow workFlow, BlockDescriptor block, Var<T> variable)
+    public static <T> DragDropZone createDragZone(Image image, WorkFlow workFlow, BlockDescriptor block,
+            Var<T> variable)
     {
         return new DragZone<T>(image, workFlow, block, variable);
     }
-    
+
     protected DragDropZone(String toolTipText, Image image, Var<?> variable)
     {
         super("");
         this.variable = variable;
-        
-        if (variable instanceof MutableType) ((MutableType) variable).addTypeChangeListener(this);
-        
+
+        if (variable instanceof MutableType)
+            ((MutableType) variable).addTypeChangeListener(this);
+
         setToolTipText("<html><h4>" + toolTipText.replace("\n", "<br/>") + "</h4></html>");
         setDefaultLinkIcon();
         setContentAreaFilled(false);
         setFocusable(false);
         setBorderPainted(false);
-        
+
         errorIcon = getLinkIcon(Color.red);
-        
+
         updateDefaultIcon();
         setDefaultLinkIcon();
-        
+
         setPreferredSize(new Dimension(iconSize, iconSize));
         setMinimumSize(getPreferredSize());
     }
-    
+
     private void updateDefaultIcon()
     {
-        Class<?> dataType = variable.getType();
-        
+        Class<?> dataType = null;
+
+        if (variable != null)
+            dataType = variable.getType();
+
         if (dataType != null)
         {
             if (variable instanceof VarGenericArray)
@@ -121,21 +125,21 @@ public abstract class DragDropZone extends JButton implements VarListener<Boolea
                 dataType = dataType.getComponentType();
             }
         }
-        
+
         defaultIcon = getLinkIcon(getColor(dataType));
     }
-    
+
     public Icon getLinkIcon(Color color)
     {
         Image myImage = new BufferedImage(iconSize, iconSize, BufferedImage.TYPE_INT_ARGB);
         Graphics2D g = (Graphics2D) myImage.getGraphics();
         g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
         g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-        
+
         // draw the colored background
         g.setColor(color);
         g.fillOval(0, 0, iconSize, iconSize);
-        
+
         // draw the white arrow
         g.setColor(Color.white);
         Path2D.Float arrow = new Path2D.Float();
@@ -150,62 +154,68 @@ public abstract class DragDropZone extends JButton implements VarListener<Boolea
         g.fill(arrow);
         return new ImageIcon(myImage);
     }
-    
+
     public void setEmptyIcon()
     {
         setIcon(emptyIcon);
     }
-    
+
     public void setDefaultLinkIcon()
     {
         setIcon(defaultIcon);
     }
-    
+
     public void setErrorLinkIcon()
     {
         setIcon(errorIcon);
     }
-    
+
     public void setIconSize(int size)
     {
         // this.iconSize = size;
         setDefaultLinkIcon();
     }
-    
+
     public void dispose()
     {
-        if (variable instanceof MutableType) ((MutableType) variable).removeTypeChangeListener(this);
+        if (variable instanceof MutableType)
+            ((MutableType) variable).removeTypeChangeListener(this);
     }
-    
+
     @Override
     public void valueChanged(Var<Boolean> source, Boolean oldValue, Boolean newValue)
     {
         setDefaultLinkIcon();
     }
-    
+
     @Override
-    public void referenceChanged(Var<Boolean> source, Var<? extends Boolean> oldReference, Var<? extends Boolean> newReference)
+    public void referenceChanged(Var<Boolean> source, Var<? extends Boolean> oldReference,
+            Var<? extends Boolean> newReference)
     {
         setDefaultLinkIcon();
     }
-    
+
     @Override
     public void typeChanged(Object source, Class<?> oldType, Class<?> newType)
     {
         updateDefaultIcon();
         setDefaultLinkIcon();
     }
-    
+
     public static Color getColor(Class<?> type)
     {
-        if (type == null) return Color.gray;
-        
-        if (type == Sequence.class) return Color.blue;
-        
-        if (type == Boolean.class || type == Boolean.TYPE) return Color.orange.darker().darker();
-        
-        if (type.isPrimitive() || Number.class.isAssignableFrom(type)) return Color.magenta.darker().darker();
-        
+        if (type == null)
+            return Color.gray;
+
+        if (type == Sequence.class)
+            return Color.blue;
+
+        if (type == Boolean.class || type == Boolean.TYPE)
+            return Color.orange.darker().darker();
+
+        if (type.isPrimitive() || Number.class.isAssignableFrom(type))
+            return Color.magenta.darker().darker();
+
         return Color.black;
     }
 }