### Question:
Py4jByteArrayConverter { public static double[] toDoubleArray(byte[] byteArray) { double[] doubles = new double[byteArray.length / Double.BYTES]; for (int i = 0; i < doubles.length; i++) { doubles[i] = ByteBuffer.wrap(byteArray, i * Double.BYTES, Double.BYTES).order(ByteOrder.LITTLE_ENDIAN).getDouble(); } return doubles; }  byte[] toByteArray(double[] doubleArray); byte[] toByteArray(int[] integerArray); byte[] toByteArray(boolean[] booleanArray); static double[] toDoubleArray(byte[] byteArray); static int[] toIntegerArray(byte[] byteArray); static long[] toLongArray(byte[] byteArray); static boolean[] toBooleanArray(byte[] byteArray, int numberOfBooleansInArray);  }### Answer:
@Test public void canCreateDoubleArrayFromByteArray() { byte byte1 = Byte.parseByte("01000000", 2); byte byte2 = Byte.parseByte("00011000", 2); byte byte3 = Byte.parseByte("00001000", 2); byte zeroByte = Byte.parseByte("00000000", 2); byte[] bytes = new byte[]{ zeroByte, zeroByte, zeroByte, zeroByte, zeroByte, zeroByte, byte2, byte1, zeroByte, zeroByte, zeroByte, zeroByte, zeroByte, zeroByte, byte3, byte1 }; double[] doubles = Py4jByteArrayConverter.toDoubleArray(bytes); double[] desiredDoubles = new double[]{6.0, 3.0}; assertArrayEquals(doubles, desiredDoubles, 0.0); }