Что вы подразумеваете под "не работает"?
Если вы имеете в виду, что он не выполняет перенос между байтами, вот как вы могли бы это сделать:
int carry = 0;
for (int i = 0; i < bytes1.getB1().length; i++) {
int sum = bytes1[i] + bytes2[i] + carry;
bAdded[i] = (byte) sum;
carry = sum >> 8;
}
bAdded[bytes1.getB1().length] = carry;