code: private Object convertByteArrayToNumber(byte[] mass) {
          double resultDouble = bytesToDouble(mass);
  
          if (Double.isNaN(resultDouble) || (resultDouble < NAN_EPSILON && resultDouble > 0)) {
              return null;
          }
  
          long resultLong = Math.round(resultDouble);
          if (Math.abs(resultDouble - resultLong) >= EPSILON) {
              return resultDouble;
          } else {
              return resultLong;
          }
      }
docs: The function to convert an array of bytes into a number. The result can be double or long values.
  The numbers are stored in the IEEE 754 format. A number is considered long if the difference between the whole
  number and its integer part is less than {@link SasFileConstants#EPSILON}.
  
  @param mass the number represented by an array of bytes.
  @return number of a long or double type.