} else {
else
  public void setup(Map attributes)  {    // find out which hash to use    String underlyingMD = (String) attributes.get(MD_NAME);    if (underlyingMD == null)      {        if (md == null)          { // happy birthday            // ensure we have a reliable implementation of this hash            md = HashFactory.getInstance(Registry.SHA160_HASH);          }        else          { // a clone. reset it for reuse            md.reset();          }      }    else      { // ensure we have a reliable implementation of this hash        md = HashFactory.getInstance(underlyingMD);      }    // get the seeed    byte[] seed = (byte[]) attributes.get(SEEED);    if (seed == null)      {        seed = new byte[0];      }    md.update(seed, 0, seed.length);  }