 
 import UIKit
 
+/**
+ A `UICollectionView` subclass that enables contiuous selection of cells while dragging.
+ Use this class as you would use a regular instance of `UICollectionView`, i.e. with a
+ `UICollectionViewDataSource` and a `UICollectionViewDelegate`. Call `beginDragSelection(at:)` when
+ you want to start a continuous selection event starting at a particular `IndexPath`. Throughout the selection
+ process, this class will ask its `delegate` if it should select / deselect each cell it encounters.
+ */
 public class DragSelectCollectionView: UICollectionView {
 
-    //MARK: PUBLIC PROPERTIES
+    //MARK: Public Properties
 
     /**
      Sets a maximum number of cells that may be selected, `nil` by default.

     */
    public var baseAutoScrollVelocity: CGFloat = 0.5

    public override var bounds: CGRect {
        didSet {
            updateHotspotViews()

        }
    }}

    //MARK: Public Methods

    /// :nodoc:
    public required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        selectionManager = DragSelectionManager(collectionView: self)
        allowsMultipleSelection = true
    }

    /// :nodoc:
    public override init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
        super.init(frame: frame, collectionViewLayout: layout)
        selectionManager = DragSelectionManager(collectionView: self)
