public SourceGeneratedDocumentState WithUpdatedGeneratedContent( SourceText sourceText, SyntaxTree lazySyntaxTree, ParseOptions parseOptions, CancellationToken cancellationToken ) { if ( TryGetText(out var existingText) && Checksum.From(existingText.GetChecksum()) == Checksum.From(sourceText.GetChecksum()) && SyntaxTree.Options.Equals(parseOptions) ) { // We can reuse this instance directly return(this); } return(SourceGeneratedDocumentState.Create( this.HintName, sourceText, lazySyntaxTree, this.Id, this.SourceGenerator, this.LanguageServices, this.solutionServices, cancellationToken )); }