code: @Override
      protected final void checkIntegrity () throws InternetSCSIException {
  
          String exceptionMessage;
  
          do {
              BasicHeaderSegment bhs = protocolDataUnit.getBasicHeaderSegment();
              if (bhs.getTotalAHSLength() != 0) {
                  exceptionMessage = "TotalAHSLength must be 0!";
                  break;
              }
  
              if (bhs.getDataSegmentLength() != 0) {
                  exceptionMessage = "DataSegmentLength must be 0!";
                  break;
              }
  
              if (functionCode != FunctionCode.ABORT_TASK && functionCode != FunctionCode.ABORT_TASK_SET && functionCode != FunctionCode.CLEAR_ACA) {
                  Utils.isReserved(logicalUnitNumber);
              }
  
              // message is checked correctly
              return;
          } while (false);
  
          throw new InternetSCSIException(exceptionMessage);
      }
docs: {@inheritDoc}