LongBag implements AnyBag<LongBag> { @Override public void copyPartFrom(LongBag from, int fromOffset, int toOffset, int length) { ensureCapacity(toOffset + length); int maxLength = from.buffer.length - fromOffset; System.arraycopy(from.buffer, fromOffset, buffer, toOffset, Math.min(length, maxLength)); if (maxLength < length) { long[] buffer = this.buffer; for (int i = toOffset + maxLength, n = toOffset + length; i < n; i++) buffer[i] = 0L; } } LongBag(); @Override void copyFrom(LongBag from); @Override void copyFrom(LongBag from, boolean clearExceeding); @Override void copyFrom(LongBag from, int length); @Override void copyFrom(LongBag from, int length, boolean clearExceeding); @Override void copyFrom(LongBag from, int fromOffset, int length); @Override void copyFrom(LongBag from, int fromOffset, int length, boolean clearExceeding); @Override void copyPartFrom(LongBag from, int fromOffset, int toOffset, int length); @Override void ensureCapacity(int capacity); long get(int index); void set(int index, long value); @Override void clear(); @Override void clear(Mask mask); @Experimental
    public long[] buffer; }
@Test public void testCopyPartFrom() { LongBag b0, b1; long e0 = 1L, e1 = 1L, e2 = 1L, e3 = 1L; b0 = new LongBag(); b0.set(5, e0); b0.set(14, e1); b0.set(21, e2); b1 = new LongBag(); b1.set(0, e3); b1.set(33, e0); b1.copyPartFrom(b0, 14, 1, 33); assertEquals((Long) e1, (Long) b1.get(1)); assertEquals((Long) e2, (Long) b1.get(8)); assertEquals((Long) e3, (Long) b1.get(0)); assertEquals((Long) 0L, (Long) b1.get(32)); assertEquals((Long) 0L, (Long) b1.get(33)); assertEquals((Long) 0L, (Long) b1.get(34)); assertEquals((Long) 0L, (Long) b1.get(35)); b0 = new LongBag(); b0.set(5, e0); b0.set(14, e1); b0.set(21, e2); b1 = new LongBag(); b1.set(0, e3); b1.copyPartFrom(b0, 14, 1, 8); assertEquals((Long) e1, (Long) b1.get(1)); assertEquals((Long) e2, (Long) b1.get(8)); assertEquals((Long) e3, (Long) b1.get(0)); assertEquals((Long) 0L, (Long) b1.get(32)); assertEquals((Long) 0L, (Long) b1.get(33)); assertEquals((Long) 0L, (Long) b1.get(34)); assertEquals((Long) 0L, (Long) b1.get(35)); }