code: public synchronized void registerEntityClasses(final String iPackageName, final ClassLoader iClassLoader) {
  		OLogManager.instance().debug(this, "Discovering entity classes inside package: %s", iPackageName);
  
  		List<Class<?>> classes = null;
  		try {
  			classes = OReflectionHelper.getClassesForPackage(iPackageName, iClassLoader);
  		} catch (ClassNotFoundException e) {
  			throw new OException(e);
  		}
  		for (Class<?> c : classes) {
  			if (!classHandler.containsEntityClass(c)) {
  				if (c.isAnonymousClass()) {
  					OLogManager.instance().warn(this, "Trying to register an anonymous class '%s'.", c.getName());
  					continue;
  				}
  				classHandler.registerEntityClass(c);
  			}
  		}
  
  		if (OLogManager.instance().isDebugEnabled()) {
  			for (Entry<String, Class<?>> entry : classHandler.getClassesEntrySet()) {
  				OLogManager.instance().debug(this, "Loaded entity class '%s' from: %s", entry.getKey(), entry.getValue());
  			}
  		}
  	}
docs: Scans all classes accessible from the context class loader which belong to the given package and subpackages.
  
  @param iPackageName
  The base package
  @return The classes