try { if (arrayField instanceof JBBPFieldArrayLong && mappingField.getType().getComponentType() == double.class) { final long[] longarray = (long[]) arrayField.getValueArrayAsObject(invertBitOrder); final double[] doublearray = new double[longarray.length]; for (int i = 0; i < longarray.length; i++) { final int[] intarray = (int[]) arrayField.getValueArrayAsObject(invertBitOrder); final float[] floatarray = new float[intarray.length]; for (int i = 0; i < intarray.length; i++) { final short[] shortarray = (short[]) arrayField.getValueArrayAsObject(invertBitOrder); final char[] chararray = new char[shortarray.length]; for (int i = 0; i < shortarray.length; i++) { mappingField.set(mappingClassInstance, arrayField.getValueArrayAsObject(invertBitOrder));