/// <summary> /// Creates a new solution instance that no longer includes the specified document. /// </summary> public Solution RemoveDocument(DocumentId documentId) { var newState = _state.RemoveDocument(documentId); if (newState == _state) { return(this); } return(new Solution(newState)); }