code: protected void checkProxyPrefetchingLimit(DefBase def, String checkLevel) throws ConstraintException
      {
          if (CHECKLEVEL_NONE.equals(checkLevel))
          {
              return;
          }
          if (def.hasProperty(PropertyHelper.OJB_PROPERTY_PROXY_PREFETCHING_LIMIT))
          {
              if (!def.hasProperty(PropertyHelper.OJB_PROPERTY_PROXY))
              {
                  if (def instanceof ClassDescriptorDef)
                  {
                      LogHelper.warn(true,
                                     ConstraintsBase.class,
                                     "checkProxyPrefetchingLimit",
                                     "The class "+def.getName()+" has a proxy-prefetching-limit property but no proxy property");
                  }
                  else
                  {    
                      LogHelper.warn(true,
                                     ConstraintsBase.class,
                                     "checkProxyPrefetchingLimit",
                                     "The feature "+def.getName()+" in class "+def.getOwner().getName()+" has a proxy-prefetching-limit property but no proxy property");
                  }
              }
      
              String propValue = def.getProperty(PropertyHelper.OJB_PROPERTY_PROXY_PREFETCHING_LIMIT);
      
              try
              {
                  int value = Integer.parseInt(propValue);
      
                  if (value < 0)
                  {
                      if (def instanceof ClassDescriptorDef)
                      {
                          throw new ConstraintException("The proxy-prefetching-limit value of class "+def.getName()+" must be a non-negative number");
                      }
                      else
                      {    
                          throw new ConstraintException("The proxy-prefetching-limit value of the feature "+def.getName()+" in class "+def.getOwner().getName()+" must be a non-negative number");
                      }
                  }
              }
              catch (NumberFormatException ex)
              {
                  if (def instanceof ClassDescriptorDef)
                  {
                      throw new ConstraintException("The proxy-prefetching-limit value of the class "+def.getName()+" is not a number");
                  }
                  else
                  {    
                      throw new ConstraintException("The proxy-prefetching-limit value of the feature "+def.getName()+" in class "+def.getOwner().getName()+" is not a number");
                  }
              }
          }
      }
docs: Constraint that ensures that the proxy-prefetching-limit has a valid value.
  
  @param def        The descriptor (class, reference, collection)
  @param checkLevel The current check level (this constraint is checked in basic and strict)