     animationItemViews = createAnimationItemView()
   }
   
+  private func removeImageItemsFromAnimationView() {
+    
+    guard let animationView = self.animationView else {
+      return
+    }
+
+    animationView.subviews.forEach({ $0.removeFromSuperview() })
+  }
+
+  
   // MARK: public
   
   public func selectedAnimation(isSelected: Bool, animated: Bool, completion: CompletionHandler?) {

  
  func closeAnimation(completion completion: CompletionHandler?) {
    
    if animationView?.subviews.count == 0 { // added animation items if need
      addImageItemsToAnimationView()
    }
    
    guard let animationItemViews = self.animationItemViews else {
      fatalError()

  
  func openAnimation(completion completion: CompletionHandler?) {
    
    removeImageItemsFromAnimationView()
    addImageItemsToAnimationView()
    
    guard let animationView = self.animationView else {
      return
