         return internalRect
     }
 
-    internal class func layout(layout:IXLayout,layoutRect:CGRect) {
+    internal final class func layout(layout:IXLayout,layoutRect:CGRect) {
 
         LayoutEngine.addLayoutChildrenToViewHeirarchy(layout)
 

        return equalWidthForLayoutsControls;
    }

    private class func calculateControlPosition(control:IXBaseControl,size:CGSize,layoutRect:CGRect) -> CGPoint {

        var controlPosition = CGPointMake(layoutRect.origin.x, layoutRect.origin.y)


        layoutsScrollView.scrollEnabled = layout.zoomEnabled || contentSizeIsLargerThanBounds
    }

    internal final class func getPreferredSize(layout:IXLayout,suggestedSize:CGSize) -> CGSize {
        var preferredSize = CGSize.zeroSize
        if let layoutInfo = layout.layoutInfo {
            let paddingInsets = ixEvaluateEdgeInsets(layoutInfo.paddingInsets, suggestedSize)
