public static int hashCode(
      @Nullable Object o1,
      @Nullable Object o2,
      @Nullable Object o3,
      @Nullable Object o4,
      @Nullable Object o5) {
    return hashCode(
        o1 == null ? 0 : o1.hashCode(),
        o2 == null ? 0 : o2.hashCode(),
        o3 == null ? 0 : o3.hashCode(),
        o4 == null ? 0 : o4.hashCode(),
        o5 == null ? 0 : o5.hashCode());
  }
Hash code is computed as value of polynomial whose coefficients are determined by hash codes of
objects passed as parameter to one of hashCode functions. More precisely: hashCode(o1, o2, ...,
on) = P[o1, o2, ..., on](X) = X^n + o1.hashCode() * X ^ (n - 1) + o2.hashCode() * X ^ (n - 2) +
... + on.hashCode() * X ^ 0

<p>Constant X determines point at which polynomial is evaluated.
fbcore/src/main/java/com/facebook/common/util/HashCodeUtil.java