/guava/android/guava/src/com/google/common/io/ByteStreams.java
long copied; long position = oldPosition;long oldPosition = sourceChannel.position( ) ;
long oldPosition = sourceChannel.position ( ) ; long position = oldPosition; long copied;
@CanIgnoreReturnValue public static long copy(ReadableByteChannel from, WritableByteChannel to) throws IOException { checkNotNull(from); checkNotNull(to); if (from instanceof FileChannel) { FileChannel sourceChannel = (FileChannel) from; <extra_id_0> do { copied = sourceChannel.transferTo(position, ZERO_COPY_CHUNK_SIZE, to); position += copied; sourceChannel.position(position); } while (copied > 0 || position < sourceChannel.size()); return position - oldPosition;