docs: public boolean hasNullPKField(ClassDescriptor cld, Object obj)
      {
          FieldDescriptor[] fields = cld.getPkFields();
          boolean hasNull = false;
          // an unmaterialized proxy object can never have nullified PK's
          IndirectionHandler handler = ProxyHelper.getIndirectionHandler(obj);
          if(handler == null || handler.alreadyMaterialized())
          {
              if(handler != null) obj = handler.getRealSubject();
              FieldDescriptor fld;
              for(int i = 0; i < fields.length; i++)
              {
                  fld = fields[i];
                  hasNull = representsNull(fld, fld.getPersistentField().get(obj));
                  if(hasNull) break;
              }
          }
          return hasNull;
      }