public override StatementSyntax GetAssignmentStatement(AssignmentTarget target, SourceProperty p, IdentifierNameSyntax sourceObjectVariableName) { return(target switch { AssignmentTarget.SourceClass => GetSourceMethodCallAssignmentStatement(p, sourceObjectVariableName, "ToImmutable"), AssignmentTarget.SourceToSource => p.GetAssignmentStatement(p.GetAccessExpression(sourceObjectVariableName)), _ => GetTargetMethodCallAssignmentStatement(p, sourceObjectVariableName, "AddRange") });