docs: @Override
      public long readLong() throws JMSException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "readLong");
  
          try {
              // Check that we are in read mode
              checkBodyReadable("readLong");
              if (requiresInit)
                  lazyInitForReading();
  
              // Mark the current position, so we can return to it if there's an error
              readStream.mark(8); // the argument appears to be ignored
  
              long result = readStream.readLong();
              // Byte swap the long if required
              if (integerEncoding == ApiJmsConstants.ENC_INTEGER_REVERSED) {
                  result = Long.reverseBytes(result);
              }
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  SibTr.exit(this, tc, "readLong", result);
              return result;
          } catch (IOException e) {
              try {
                  readStream.reset();
              } catch (IOException e2) {
              }
              throw (JMSException) JmsErrorUtils.newThrowable(
                                                              JMSException.class,
                                                              "EXCEPTION_RECEIVED_CWSIA0190",
                                                              new Object[] { e, "JmsBytesMessageImpl.readLong" },
                                                              e,
                                                              "JmsBytesMessageImpl.readLong#1",
                                                              this,
                                                              tc);
          }
      }