public boolean equals(final Object object) {
   if (!(object instanceof Data)) return false;
   final Data second = (Data) object;
   return Comparing.equal(TEST_OBJECT, second.TEST_OBJECT)
       && Comparing.equal(getMainClassName(), second.getMainClassName())
       && Comparing.equal(getPackageName(), second.getPackageName())
       && Comparing.equal(getMethodName(), second.getMethodName())
       && Comparing.equal(getWorkingDirectory(), second.getWorkingDirectory())
       && Comparing.equal(VM_PARAMETERS, second.VM_PARAMETERS)
       && Comparing.equal(PARAMETERS, second.PARAMETERS)
       && Comparing.equal(myPattern, second.myPattern)
       && Comparing.equal(FORK_MODE, second.FORK_MODE)
       && Comparing.equal(DIR_NAME, second.DIR_NAME)
       && Comparing.equal(CATEGORY_NAME, second.CATEGORY_NAME);
 }
 public int hashCode() {
   return Comparing.hashcode(TEST_OBJECT)
       ^ Comparing.hashcode(getMainClassName())
       ^ Comparing.hashcode(getPackageName())
       ^ Comparing.hashcode(getMethodName())
       ^ Comparing.hashcode(getWorkingDirectory())
       ^ Comparing.hashcode(VM_PARAMETERS)
       ^ Comparing.hashcode(PARAMETERS)
       ^ Comparing.hashcode(myPattern)
       ^ Comparing.hashcode(FORK_MODE)
       ^ Comparing.hashcode(DIR_NAME)
       ^ Comparing.hashcode(CATEGORY_NAME);
 }
 public String getPackage() {
   final Data data = getPersistentData();
   return !Comparing.strEqual(data.TEST_OBJECT, TEST_PACKAGE) ? null : data.getPackageName();
 }