### Question:
B2LargeFileStorer { long getStartByteOrUnknown(int partNumber) { return startingBytePositions.get(partNumber - 1); } B2LargeFileStorer(
            B2FileVersion fileVersion,
            List<B2PartStorer> partStorers,
            B2AccountAuthorizationCache accountAuthCache,
            B2StorageClientWebifier webifier,
            B2Retryer retryer,
            Supplier<B2RetryPolicy> retryPolicySupplier,
            ExecutorService executor); static B2LargeFileStorer forLocalContent(
            B2FileVersion largeFileVersion,
            B2ContentSource contentSource,
            B2PartSizes partSizes,
            B2AccountAuthorizationCache accountAuthCache,
            B2StorageClientWebifier webifier,
            B2Retryer retryer,
            Supplier<B2RetryPolicy> retryPolicySupplier,
            ExecutorService executor);  }### Answer:
@Test public void testStartByte() throws IOException { final B2LargeFileStorer largeFileStorer = createLargeFileStorerForStartByteTests(); assertEquals(0, largeFileStorer.getStartByteOrUnknown(1)); assertEquals(100, largeFileStorer.getStartByteOrUnknown(2)); assertEquals(100 + PART_SIZE_FOR_FIRST_TWO, largeFileStorer.getStartByteOrUnknown(3)); assertEquals(B2UploadProgress.UNKNOWN_PART_START_BYTE, largeFileStorer.getStartByteOrUnknown(4)); }
@Test(expected = IndexOutOfBoundsException.class) public void testStartByte_partNumberTooLow() throws IOException { createLargeFileStorerForStartByteTests().getStartByteOrUnknown(0); }
@Test(expected = IndexOutOfBoundsException.class) public void testStartByte_partNumberTooHigh() throws IOException { createLargeFileStorerForStartByteTests().getStartByteOrUnknown(5); }