Currently AddToIndex() is called by Move() and Stage(). Move() finally gets a tuple of relative paths and file statuses from BuildFrom(). But Stage() passes unchecked paths to AddToIndex() and RemoveFromIndex().