def <<(commit)
      return self if key? commit.id

      if @additions.nil? && empty? && commit.line_stats?
        @additions = commit.additions
        @deletions = commit.deletions
      elsif !@additions.nil?
        @additions += commit.additions
        @deletions += commit.deletions
      end

      super
    end
def <<(commit)
      return self if key? commit.id

      if @additions.nil? && empty? && commit.line_stats?
        @additions = commit.additions
        @deletions = commit.deletions
      elsif !@additions.nil?
        @additions += commit.additions
        @deletions += commit.deletions
      end

      super
    end
Creates a new collection with the given commits

 @param [Array<Commit>] commits The commits that should be initially
        inserted into the collection
 Adds a commit to this collection

 @param [Commit] commit The commit to add to this collection
 @return [CommitCollection] The collection itself