     }
     
     //MARK: Private
-    
-    private func checkSuperView(_ view: UIView?) {
-        
-        if (view == nil) {
-            assert(self.view.superview != nil, "Can not create realtions without superview.")
-        }
-    }
-    
-    private func checkRelationType(for relationView: UIView, configurationBlock: (UIView, NUIRelationType) -> Void) -> NUIMaker {
-
-        assert(relationView.relationType != nil, "The view '\(relationView)' hasn't a relation type.")
-        configurationBlock(relationView, relationView.relationType!)
+
+    
+    private func checkRelationType(for relationView: UIView?, configurationBlock: (UIView, NUIRelationType) -> Void) -> NUIMaker {
+
+        guard relationView != nil else {
+            assertionFailure("Can not configure relation with not correct view.")
+            return self
+        }
+        
+        assert(relationView!.relationType != nil, "The view '\(relationView)' hasn't a relation type.")
+        configurationBlock(relationView!, relationView!.relationType!)
         return self
     }
 

    
    @discardableResult public func centerY(to view: UIView? = nil, offset: CGFloat = 0.0) -> NUIMaker {
        
        checkSuperView(view)
        return checkRelationType(for: view ?? self.view.superview!.nui_centerY) { [unowned self] relationView, relationType in
            
            let handler = { [unowned self] in
                let y = self.convertedValue(relationType: relationType, forView: relationView) - self.newRect.height/2 - offset

    
    @discardableResult public func bottom(to view: UIView? = nil, inset: CGFloat = 0.0) -> NUIMaker {
        
        return checkRelationType(for: view ?? self.view.superview?.nui_bottom) { [unowned self] relationView, relationType in
            
            let handler = { [unowned self] in
                if self.isExistsRelationParameters(relationType: .Top) {
