               Math.max(dimension.width, @view.opts.emptySocketWidth)
         return null
 
-      # ## computeBoundingBoxX
-      computeBoundingBoxX: (left, line) ->
-        # Use cache if possible.
-        if @computedVersion is @model.version and
-            left is @bounds[line]?.x
-          return @bounds[line]
-
-        # A Socket should copy its content
-        # block, if there is a content block
-        if @model.start.next.type is 'blockStart'
-          @bounds[line] =
-            @view.getViewNodeFor(@model.start.next.container).computeBoundingBoxX(left, line).clone()
-
-          @boundingBoxFlag = @view.getViewNodeFor(@model.start.next.container).boundingBoxFlag
-
-        # Otherwise, decrement to force super to recompute,
-        # and call super.
-        else
-          super
-
-        return @bounds[line]
-
       # ## computeGlue
       # Sockets have one exception to normal glue spacing computation:
       # sockets containing a block should **not** add padding to


        return null

      # ## computeBoundingBoxX
      # Layout bounding box positions horizontally.
      # This needs to be separate from y-coordinate computation
      # because of glue spacing (the space between lines

        # placing children down and
        # adding padding and sizes
        # to make them not overlap.
        childLeft = left

        # Get rendering info on each of these children
        for lineChild, i in @lineChildren[line]
          childView = @view.getViewNodeFor lineChild.child
          childLine = line - lineChild.startLine

          childLeft += childView.margins.left
          childView.computeBoundingBoxX childLeft, childLine
          childLeft +=
            childView.dimensions[childLine].width + childView.margins.right

        # Return the bounds we just
        # computed.
