code: @Override
      public int checkBounds (long logicalBlockAddress, int transferLengthInBlocks) {
          // Checking if the logical block address is out of bounds
          if (logicalBlockAddress < 0 || logicalBlockAddress >= getSizeInBlocks()) {
              return 1;
          } else
          // if the logical block address is in bounds but the transferlength
          // either exceeds
          // the device size or is faulty return 2
          if (transferLengthInBlocks < 0 || logicalBlockAddress + transferLengthInBlocks > getSizeInBlocks()) {
              return 2;
          } else {
              return 0;
          }
      }
docs: {@inheritDoc}