docs: protected static int _compute( int seed,
                                     Object... objects ) {
          if (objects == null || objects.length == 0) {
              return seed * HashCode.PRIME;
          }
          // Compute the hash code for all of the objects ...
          int hc = seed;
          for (Object object : objects) {
              hc = HashCode.PRIME * hc;
              if (object instanceof byte[]) {
                  hc += Arrays.hashCode((byte[])object);
              } else if (object instanceof boolean[]) {
                  hc += Arrays.hashCode((boolean[])object);
              } else if (object instanceof short[]) {
                  hc += Arrays.hashCode((short[])object);
              } else if (object instanceof int[]) {
                  hc += Arrays.hashCode((int[])object);
              } else if (object instanceof long[]) {
                  hc += Arrays.hashCode((long[])object);
              } else if (object instanceof float[]) {
                  hc += Arrays.hashCode((float[])object);
              } else if (object instanceof double[]) {
                  hc += Arrays.hashCode((double[])object);
              } else if (object instanceof char[]) {
                  hc += Arrays.hashCode((char[])object);
              } else if (object instanceof Object[]) {
                  hc += Arrays.hashCode((Object[])object);
              } else if (object != null) {
                  hc += object.hashCode();
              }
          }
          return hc;
      }
  
      private HashCode() {
      }
  
  }