protected virtual void Dispose(bool disposing)
{
if (!isDisposed && disposing)
{
if (chainStateManager.IsValueCreated)
chainStateManager.Value.Dispose();
if (blockStorage.IsValueCreated)
blockStorage.Value.Dispose();
if (blockTxesStorage.IsValueCreated)
blockTxesStorage.Value.Dispose();
if (memoryStorageManager.IsValueCreated)
memoryStorageManager.Value.Dispose();
isDisposed = true;
}
}