### Question:
ArrayData implements ChartData<X, Y> { public static <X extends Number, Y extends Number> Builder<X, Y> builder() { return new Builder<>(); } private  ArrayData(NumberArray<X> xData, NumberArray<Y> yData); @Override int size(); @Override double getXAsDouble(int index); @Override double getYAsDouble(int index); @Override Data<X, Y> get(int index); @Override void addListener(InvalidationListener listener); @Override void removeListener(InvalidationListener listener); ObservableList<Data<X, Y>> toObservableList(); static ArrayData<X, Y> of(byte[] y); static ArrayData<X, Y> of(byte[] x, byte[] y); static ArrayData<X, Y> of(short[] y); static ArrayData<X, Y> of(short[] x, short[] y); static ArrayData<X, Y> of(int[] y); static ArrayData<X, Y> of(int[] x, int[] y); static ArrayData<X, Y> of(long[] y); static ArrayData<X, Y> of(long[] x, long[] y); static ArrayData<X, Y> of(float[] y); static ArrayData<X, Y> of(float[] x, float[] y); static ArrayData<X, Y> of(double[] y); static ArrayData<X, Y> of(double[] x, double[] y); static Builder<X, Y> builder();  }### Answer:
@Test public void testBuilder() { ObservableList<Data<Number, Number>> data = ArrayData.builder().x(new short[] {2, 3}).y(new long[] {4, 5}).build().toObservableList(); assertEquals(2, data.size()); assertTrue(data.get(0).getXValue() instanceof Short); assertTrue(data.get(0).getYValue() instanceof Long); assertEquals((short) 3, data.get(1).getXValue()); assertEquals(4L, data.get(0).getYValue().intValue()); }