anchor.diff:    finally
       FHashTreeOperations.UnlockList;
     end;
  +end;
  +
  +procedure TOperationsHashTree.RemoveByOpReference(const opReference: TOpReference);
  +var i : Integer;
  +  l : TList;
  +  iLockedThreadListPos : PtrInt;
  +begin
  +  l := FHashTreeOperations.LockList;
  +  Try
  +    if FindOrderedByOpReference(l,opReference,i) then begin
  +      iLockedThreadListPos := PtrInt(FListOrderedByOpReference[i]);
  +      Delete(iLockedThreadListPos);
  +    end;
  +  Finally
  +    FHashTreeOperations.UnlockList;
  +  End;
   end;
   
   function TOperationsHashTree.SaveOperationsHashTreeToStream(Stream: TStream; SaveToStorage: Boolean): Boolean;
  
positive.code:     Class function EqualOperationHashes(Const operationHash1, operationHash2 : TRawBytes) : Boolean;
      Class function FinalOperationHashAsHexa(Const operationHash : TRawBytes) : AnsiString;
      class function OperationHashAsHexa(const operationHash : TRawBytes) : AnsiString;
      function Sha256 : TRawBytes;
      function GetOpReference : TOpReference;
    End;
  
negative.code:   End;
  
    TOpReference = UInt64;
    TOpReferenceArray = TArray<TopReference>;
  
    { TPCOperation }
  
  