/// <summary>
 /// Restore the original end of the archive.
 /// </summary>
 public abstract void RestoreTempEnd(FBitArchiveEndIndex index);
 /// <summary>
 /// Pretend this archive ends earlier to prevent reading bytes twice and reduce alloctions. Make sure to call <see cref="RestoreTemp(int)"/> afterwards.
 /// </summary>
 public abstract void SetTempEnd(int size, FBitArchiveEndIndex index);