class UserKey implements Serializable {

   @Override
   public String toString()
   {
      StringBuilder sb = new StringBuilder();
      for (UserSelection selection: this.selection)
      {
         sb.append(selection.name()).append(":");
         switch (selection)
         {
            case LOGIN:
            case EMAIL:
               sb.append(pi.getUsername()); // EMAIL must be extracted from db
               break;
            case IP:
               sb.append(pi.getRemoteAddress());
               break;
            default:
               break;
         }
         sb.append(";");
      }
      return sb.toString();
   }

   public  UserKey(ProcessingInformation pi, UserSelection[] selection);

}