public ContactSnapshot getHolderSnapshot() throws ServiceException {
   if (this.holderSnapshotId != null && !"0".equals(this.holderSnapshotId)) {
     return AppServiceFacade.getWhoisContactService()
         .getSnapshot(this.holderSnapshotId, this.userIdCaller, this.tldCaller);
   } else {
     return null;
   }
 }
 public Customer getCustomer() throws ServiceException {
   try {
     return this.customerId.getObjectOwner(this.userIdCaller, this.tldCaller);
   } catch (InvalidDataException e) {
     return AppServiceFacade.getWhoisContactService()
         .getContactWithHandle(this.holderNicHandle, this.userIdCaller, this.tldCaller)
         .getCustomer();
   }
 }
 public WhoisContact getHolder() throws ServiceException {
   if (this.holderNicHandle != null) {
     try {
       return AppServiceFacade.getWhoisContactService()
           .getContactWithHandle(this.holderNicHandle, this.userIdCaller, this.tldCaller);
     } catch (NotFoundException e) {
       if (this.hasHolderSnapshot()) {
         return this.getHolderSnapshot().getContact();
       } else {
         throw new NotFoundException(
             "No contact or snapshot found for handle " + this.holderNicHandle,
             CorporateEntityWhoisContact.class);
       }
     }
   } else {
     throw new ServiceException("No contactHolderHandle defined");
   }
 }