anchor.diff:  
   procedure TLspClient.HandleSyncRequest(id: Int64; AResult, AError: TJsonValue);
   begin
  -  with TSyncRequestHelper(fSyncHelper) do
  -  begin
  -    if AResult is TJsonValue then
  -      Result := TJSONValue(AResult.Clone);
  -    if AError is TJsonValue then
  -      Error := TJSONValue(AError.Clone);
  -    SyncEvent.SetEvent;
  -  end;
  +  if Assigned(AResult) then
  +  begin
  +    AResult.Owned := False;
  +    TSyncRequestHelper(fSyncHelper).Result := AResult;
  +  end;
  +  if Assigned(AError) then
  +  begin
  +    AError.Owned := False;
  +    TSyncRequestHelper(fSyncHelper).Error := AError;
  +  end;
  +  TSyncRequestHelper(fSyncHelper).SyncEvent.SetEvent;
   end;
   
   procedure TLspClient.ReceiveData(const Bytes: TBytes; BytesRead: Cardinal);
  
positive.code:   ExCmdOptions: TJclExecuteCmdProcessOptions);
  begin
    inherited Create(True);
    FreeOnTerminate := True;
    FLspClient := LspClient;
    fExCmdOptions := ExCmdOptions;
    fAbortEvent := TJclEvent.Create(nil, True, False, '');
  
negative.code: 
  procedure TLspClient.ServerTerminated(Sender: TObject);
  begin
    FStatus := lspInactive;
  end;
  
  