LocalProcessLog implements ProcessLog { @Override public int hashCode() { int hash = HashUtil.hash(0, _level); hash = HashUtil.hash(hash, _message); hash = HashUtil.hash(hash, _throwable); return hash; } LocalProcessLog(
		ProcessLog.Level level, String message, Throwable throwable); @Override boolean equals(Object object); @Override ProcessLog.Level getLevel(); @Override String getMessage(); @Override Throwable getThrowable(); @Override int hashCode(); @Override String toString();  }
@Test public void testHashCode() { String message = "message"; Throwable throwable = new Throwable(); LocalProcessLog localProcessLog = new LocalProcessLog( ProcessLog.Level.DEBUG, message, throwable); int hash = HashUtil.hash(0, ProcessLog.Level.DEBUG); hash = HashUtil.hash(hash, message); Assert.assertEquals( localProcessLog.hashCode(), HashUtil.hash(hash, throwable)); }