     @previousSide = side
     side
 
+  # Private: Advance the row counter.
+  #
+  # rowCount [Integer] The number of rows to advance.
+  #
   _advance: (rowCount) -> @currentRow += rowCount
 
 module.exports =
+# Public: Model an individual conflict parsed from git's automatic conflict resolution output.
+#
 class Conflict
 
+  # Private: Initialize a new Conflict with its constituent Sides, Navigator, and the MergeState
+  # it belongs to.
+  #
+  # ours [Side] the lines of this conflict that the current user contributed (by our best guess).
+  # theirs [Side] the lines of this conflict that another contributor created.
+  # parent [Side] currently unused.
+  # navigator [Navigator] maintains references to surrounding Conflicts in the original file.
+  # state [MergeState] repository-wide information about the current merge.
+  #
   constructor: (@ours, @theirs, @parent, @navigator, @state) ->
     @emitter = new Emitter
 


        @position = INVALID
      else
        throw new Error "Unexpected position for side: #{@position}"

    bannerMarker = @editor.markBufferRange(
      [[bannerRowStart, 0], [bannerRowEnd, 0]], @options

    @position = TOP
    @previousSide = null

  # Private: Complete handling of an individual CONFLICT_REGEX match.
  #
  finish: ->
    @previousSide.followingMarker = @previousSide.refBannerMarker

  # Private: Mark the current lines as "ours".
  #
  # Returns [Side] marking the current conflict's side.
  #
  markOurs: -> @_markHunk OurSide

  # Private: Mark the current lines as a separator.
  #
  # Returns [Navigator] containing a marker to the separator line.
  #
  markSeparator: ->
    unless @position is MIDDLE
      throw new Error("Unexpected position for separator: #{@position}")
    @position = BOTTOM

    sepRowStart = @currentRow
