protected Key(int privatekey){
  this.privatekey=privatekey;
  recordIdentity(this);
}

protected Key ( int privatekey ) { this . privatekey = privatekey ; recordIdentity ( this ) ; }
construct a key using the indicated private key . each subclass of key maintains its own unique domain of integer keys . no two objects with the same integer key and of the same specific subclass can be constructed . an exception will be thrown if an attempt is made to construct another object of a given class with the same integer key as a pre - existing instance of that subclass of key .
