docs: @Nullable public static Pair<Integer, Integer> getSize(InputStream is) {
      // Here we have to parse the WebP data skipping all the information which are not
      // the size
      Pair<Integer, Integer> result = null;
      byte[] headerBuffer = new byte[4];
      try {
        is.read(headerBuffer);
        // These must be RIFF
        if (!compare(headerBuffer, "RIFF")) {
          return null;
        }
        // Next there's the file size
        getInt(is);
        // Next the WEBP header
        is.read(headerBuffer);
        if (!compare(headerBuffer, "WEBP")) {
          return null;
        }
        // Now we can have different headers
        is.read(headerBuffer);
        final String headerAsString = getHeader(headerBuffer);
        if (VP8_HEADER.equals(headerAsString)) {
          return getVP8Dimension(is);
        } else if (VP8L_HEADER.equals(headerAsString)) {
          return getVP8LDimension(is);
        } else if (VP8X_HEADER.equals(headerAsString)) {
          return getVP8XDimension(is);
        }
      } catch (IOException e) {
        e.printStackTrace();
      } finally {
        if (is != null) {
          try {
            is.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }
      // In this case we don't have the dimension
      return null;
    }