/**
 * Copyright 2015 NICTA
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.n1analytics.paillier.util;

/**
 * A class to store a hashchain
 */
public class HashChain {

  private int hash;

  /**
   * Constructs a new HashChain, initialise the hashcode to 0.
   */
  public HashChain() {
    this.hash = 0;
  }

  /**
   * Chains this HashChain with the hashcode of another object.
   * @param o an object whose hashcode is to be chained to this HashChain.
   * @return this HashChain.
   */
  public HashChain chain(Object o) {
    this.hash = Long.valueOf((((long) this.hash) << 32) | o.hashCode()).hashCode();
    return this;
  }

  /**
   * Returns the hashcode.
   * @return hashcode.
   */
  public int hashCode() {
    return hash;
  }

  @Override
  public boolean equals(Object o) {
    return o == this || (o != null &&
            o instanceof HashChain &&
            hash == ((HashChain) o).hash);
  }
}

@@ -643,17 +643,127 @@
 e a 
-hashchain
+%7B@code HashChain%7D. It contains a hashcode variable and%0A * a method to chain another hashcode to this %7B@code HashChain%7D.
 %0A */
@@ -838,16 +838,23 @@
 s a new 
+%7B@code 
 HashChai
@@ -858,20 +858,10 @@
 hain
+%7D
 ,
- initialise
  the
@@ -870,16 +870,31 @@
 ashcode 
+is initialised 
 to 0.%0A  
@@ -966,28 +966,8 @@
 ins 
-this HashChain with 
 the 
@@ -990,15 +990,54 @@
 her 
-object.
+%7B@code Object%7D to this %7B@code HashChain%7D.%0A   *
 %0A   
@@ -1093,24 +1093,31 @@
 ned to this 
+%7B@code 
 HashChain.%0A 
@@ -1109,24 +1109,25 @@
 de HashChain
+%7D
 .%0A   * @retu
@@ -1134,16 +1134,23 @@
 rn this 
+%7B@code 
 HashChai
@@ -1150,16 +1150,39 @@
 ashChain
+%7D with updated hashCode
 .%0A   */%0A
@@ -1353,24 +1353,29 @@
 e hashcode.%0A
+   *%0A
    * @return
@@ -1371,24 +1371,28 @@
   * @return 
+the 
 hashcode.%0A  

Update the docs in HashChain.