anchor.diff:  
   function TNetData.IsGettingNewBlockChainFromClient(var status: AnsiString): Boolean;
   begin
  -  Result := FIsGettingNewBlockChainFromClient;
  -  if (Result) then  status := FNewBlockChainFromClientStatus
  -  else status := '';
  +  if FLockGettingNewBlockChainFromClient.TryEnter then begin
  +    try
  +      Result := False;
  +      status := '';
  +    finally
  +      FLockGettingNewBlockChainFromClient.Release;
  +    end;
  +  end else begin
  +    status := FNewBlockChainFromClientStatus;
  +    Result := True;
  +  end;
   end;
   
   procedure TNetData.SetMaxNodeServersAddressesBuffer(AValue: Integer);
  
positive.code:   FreeAndNil(FRegisteredRequests);
    FreeAndNil(FNetworkAdjustedTime);
    FreeAndNil(FIpInfos);
    inherited;
    if (_NetData=Self) then _NetData := Nil;
    TLog.NewLog(ltInfo,ClassName,'TNetData.Destroy END');
  
negative.code:   FNodeServersAddresses := TOrderedServerAddressListTS.Create(Self);
    FLastRequestId := 0;
    FNetConnections := TPCThreadList.Create('TNetData_NetConnections');
    FLockGettingNewBlockChainFromClient := TPCCriticalSection.Create('LockGettingNewBlockChainFromClient');
    FNewBlockChainFromClientStatus := '';
    FNodePrivateKey := TECPrivateKey.Create;
    FNodePrivateKey.GenerateRandomPrivateKey(CT_Default_EC_OpenSSL_NID);
  