       else
         super
 
-      # Make ourselves white, with a
-      # gray border.
-      @path.style.fillColor = '#FFF'
-      @path.style.strokeColor = '#FFF'
+      if '' is @model.emptyString and @model.start?.next is @model.end
+        # Empty sockets with empty emptyString defaults are transparent
+        @path.style.fillColor = @path.style.strokeColor = 'rgba(0,0,0,0)'
+      else
+        # Make ourselves white, with a white border.
+        @path.style.fillColor = @path.style.strokeColor = '#FFF'
 
       return @path
 

          @minDistanceToBase[0].above + @minDistanceToBase[0].below

      for dimension in @minDimensions
        dimension.width =
            Math.max(dimension.width, @view.opts.minSocketWidth)

        if @model.hasDropdown() and @view.opts.showDropdowns
          dimension.width += helper.DROPDOWN_ARROW_WIDTH


    shouldAddTab: NO

    isInvisibleSocket: ->
      '' is @model.emptyString and @model.start?.next is @model.end

    # ## computeDimensions (SocketViewNode)
    # Sockets have a couple exceptions to normal dimension computation.
    #
