code: boolean hasReadableBits(int count) {
          if (count < 0) {
              throw new IllegalArgumentException("count: " + count + " (expected value greater than 0)");
          }
          return bitCount >= count || (in.readableBytes() << 3 & Integer.MAX_VALUE) >= count - bitCount;
      }
docs: Checks that the specified number of bits available for reading.
  @param count The number of bits to check
  @return {@code true} if {@code count} bits are available for reading, otherwise {@code false}