@Override protected void copyToInternal(byte[] target, int sourceOffset, int targetOffset, int numberToCopy) { if (sourceOffset + numberToCopy <= leftLength) { left.copyToInternal(target, sourceOffset, targetOffset, numberToCopy); } else if (sourceOffset >= leftLength) { right.copyToInternal(target, sourceOffset - leftLength, targetOffset, numberToCopy); } else { int leftLength = this.leftLength - sourceOffset; left.copyToInternal(target, sourceOffset, targetOffset, leftLength); right.copyToInternal(target, 0, targetOffset + leftLength, numberToCopy - leftLength); } }
@Override protected void copyToInternal(byte[] target, int sourceOffset, int targetOffset, int numberToCopy) { if (sourceOffset + numberToCopy <= leftLength) { left.copyToInternal(target, sourceOffset, targetOffset, numberToCopy); } else if (sourceOffset >= leftLength) { right.copyToInternal(target, sourceOffset - leftLength, targetOffset, numberToCopy); } else { int leftLength = this.leftLength - sourceOffset; left.copyToInternal(target, sourceOffset, targetOffset, leftLength); right.copyToInternal(target, 0, targetOffset + leftLength, numberToCopy - leftLength); } }
@Override protected void copyToInternal(byte[] target, int sourceOffset, int targetOffset, int numberToCopy) { if (sourceOffset + numberToCopy <= leftLength) { left.copyToInternal(target, sourceOffset, targetOffset, numberToCopy); } else if (sourceOffset >= leftLength) { right.copyToInternal(target, sourceOffset - leftLength, targetOffset, numberToCopy); } else { int leftLength = this.leftLength - sourceOffset; left.copyToInternal(target, sourceOffset, targetOffset, leftLength); right.copyToInternal(target, 0, targetOffset + leftLength, numberToCopy - leftLength); } }
/** * Copies bytes to a {@code byte[]}. * * @return copied bytes */ public byte[] toByteArray() { int size = size(); byte[] result = new byte[size]; copyToInternal(result, 0, 0, size); return result; }
/** * Copies bytes to a {@code byte[]}. * * @return copied bytes */ public byte[] toByteArray() { int size = size(); byte[] result = new byte[size]; copyToInternal(result, 0, 0, size); return result; }
/** * Copies bytes to a {@code byte[]}. * * @return copied bytes */ public byte[] toByteArray() { int size = size(); byte[] result = new byte[size]; copyToInternal(result, 0, 0, size); return result; }
copyToInternal(target, sourceOffset, targetOffset, numberToCopy);
copyToInternal(target, sourceOffset, targetOffset, numberToCopy);
copyToInternal(target, sourceOffset, targetOffset, numberToCopy);