Raising Cain

Dr. Carter Nix (John Lithgow) is a respected child psychologist. His wife, Jenny (Lolita Davidovich), becomes concerned that Carter is obsessively studying their daughter, Amy; he regards her like a scientist tracking the development of his creation. But Carter himself suffers from multiple personality disorder consisting of Cain, a street hustler, Josh, a shy 10-year-old boy, and Margo, a middle-aged nanny. Carter and Cain are killing young mothers to procure their children for his experiments.
Jenny is having an affair with Jack Dante (Steven Bauer), the widower of a former patient. She had a relationship with him years ago, but he left her. Now she plans to leave Carter and elope with him. When Carter accidentally discovers their tryst, he descends completely into his madness and begins leaving subtle clues for the police that Jack is the real killer. Next, he attempts to kill Jenny by submerging her car in a lake. She escapes and confronts Carter at home. Unable to find Amy, Jenny demands Carter tell her where she is. Carter replies that she is with his father, whom Jenny knows has been dead for years.
Carter is apprehended for attempted murder. The police bring Dr. Lynn Waldheim (Frances Sternhagen) to interrogate him. Waldheim interviews Carter and informs the police that she co-wrote a book with Nix Sr. called Raising Cain, about a boy with multiple personality disorder. Nix Sr. had extensive detailed knowledge of Cain's tortured childhood, including taped recordings of their sessions. However, Waldheim was never allowed to meet Cain. She pieced the situation together: Nix Sr. dispassionately put his own son through years of severe child abuse to gain firsthand accounts of his traumatic psychological development and study the emerging personalities. Horrified, Waldheim quit the project.
During interrogation, Margo and Josh act and speak for Carter. Josh recites a rhyme and vanishes, and Margo assumes control. She stonewalls Waldheim from any further questioning. Eventually, Carter and Cain break from their confines. They pounce upon Dr. Waldheim, knocking her unconscious and leaving the building disguised as her. The police soon find Waldheim begging them to arrest Carter before any children are harmed.
Nix Sr. (Lithgow) is in fact alive, having faked his own death to elude prosecution for attempting to buy babies. He has established a new identity and a clandestine research facility in Norway. He has been using Carter and his multiples to procure the children so he will have an adequate control group to study the development of MPD. Jenny follows who she thinks is Waldheim to a motel, but it is actually Carter/Cain. She follows Carter/Cain, who is now Margo, into an elevator. When it opens, she sees Nix Sr. with her daughter Amy. While Jenny begs for Nix Sr. to give back her daughter, Carter, Cain and Margo stabs "their" father from behind. Jack arrives with the police, and Carter and his personalities disappear.
The movie ends with Jenny and Amy in a park. Amy runs off into the woods calling "Daddy, Daddy". Jenny follows her and finds Amy, who says her father has gone away. When Jenny bends down to pick Amy up, Carter appears behind her in a wig and a dress; Margo is now in control. Jenny holds Amy in her arms, oblivious to who is behind her.

Question: Who is Jenny having an affair with?
Answer: Jack