@Override
  public synchronized int read() throws IOException {
    return checkReadSoFarOrThrow(super.read());
  }
Uses the content length as the basis for the return value of {@link #available()} and verifies
that at least content length bytes are returned from the various read methods.
core/src/main/java/com/bumptech/glide/util/ContentLengthInputStream.java