code: public static int hash( int initialNonZeroOddNumber, int multiplierNonZeroOddNumber, Object...objs )
      {
          int result = initialNonZeroOddNumber;
          for ( Object obj : objs )
          {
              result = multiplierNonZeroOddNumber * result + ( obj != null ? obj.hashCode() : 0 );
          }
          return result;
      }
docs: Computes a hashCode given the input objects.
  
  @param initialNonZeroOddNumber a non-zero, odd number used as the initial value.
  @param multiplierNonZeroOddNumber a non-zero, odd number used as the multiplier.
  @param objs the objects to compute hash code.
  @return the computed hashCode.