code: public boolean assertValidPkForDelete(ClassDescriptor cld, Object obj)
      {
          if(!ProxyHelper.isProxy(obj))
          {
              FieldDescriptor fieldDescriptors[] = cld.getPkFields();
              int fieldDescriptorSize = fieldDescriptors.length;
              for(int i = 0; i < fieldDescriptorSize; i++)
              {
                  FieldDescriptor fd = fieldDescriptors[i];
                  Object pkValue = fd.getPersistentField().get(obj);
                  if (representsNull(fd, pkValue))
                  {
                      return false;
                  }
              }
          }
          return true;
      }
docs: returns true if the primary key fields are valid for delete, else false.
  PK fields are valid if each of them contains a valid non-null value
  @param cld the ClassDescriptor
  @param obj the object
  @return boolean