### Question:
B2CopyingPartStorer implements B2PartStorer { @Override public B2Part storePart( B2LargeFileStorer largeFileCreationManager, B2UploadListener uploadListener) throws B2Exception { return largeFileCreationManager.copyPart(partNumber, sourceFileId, byteRangeOrNull, uploadListener); } B2CopyingPartStorer(int partNumber, String sourceFileId);  B2CopyingPartStorer(int partNumber, String sourceFileId, B2ByteRange byteRangeOrNull); @Override int getPartNumber(); @Override long getPartSizeOrThrow(); @Override B2Part storePart(
            B2LargeFileStorer largeFileCreationManager,
            B2UploadListener uploadListener); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testStorePart_noByteRange() throws B2Exception { final B2CopyingPartStorer partStorer = new B2CopyingPartStorer(PART_NUMBER, SOURCE_FILE_ID); assertEquals(part, partStorer.storePart(largeFileStorer, uploadListener)); verify(largeFileStorer).copyPart(2, SOURCE_FILE_ID, null, uploadListener); }
@Test public void testStorePart_byteRange() throws B2Exception { final B2ByteRange byteRange = B2ByteRange.between(1000000, 2000000); final B2CopyingPartStorer partStorer = new B2CopyingPartStorer(2, SOURCE_FILE_ID, byteRange); assertEquals(part, partStorer.storePart(largeFileStorer, uploadListener)); verify(largeFileStorer).copyPart(2, SOURCE_FILE_ID, byteRange, uploadListener); }