src/main/java/js/container/ArgumentsProcessor.java
public Object[] preProcessArguments(ManagedClassSPI managedClass, Object... args) {
		// arguments can be null if on invocations chain there is Proxy handler invoked with no arguments
		if (args == null) {
			args = EMPTY_ARGS;
		}
		if (managedClass.getImplementationClass() == null) {
			return args;
		}
		Constructor<?> constructor = managedClass.getConstructor();

		// managed class constructor parameters have the same limitation as injected fields: they must be a managed
		// class on their turn; it is considered a bug trying to use not managed classes as constructor argument

		// because managed class is not generic is safe to use getParameterTypes instead of getGenericParameterTypes
		final Class<?>[] types = constructor.getParameterTypes();
		return preProcessArguments(managedClass, constructor, types, args);
	}
public Object[] preProcessArguments(ManagedClassSPI managedClass, Object... args) {
		// arguments can be null if on invocations chain there is Proxy handler invoked with no arguments
		if (args == null) {
			args = EMPTY_ARGS;
		}
		if (managedClass.getImplementationClass() == null) {
			return args;
		}
		Constructor<?> constructor = managedClass.getConstructor();

		// managed class constructor parameters have the same limitation as injected fields: they must be a managed
		// class on their turn; it is considered a bug trying to use not managed classes as constructor argument

		// because managed class is not generic is safe to use getParameterTypes instead of getGenericParameterTypes
		final Class<?>[] types = constructor.getParameterTypes();
		return preProcessArguments(managedClass, constructor, types, args);
	}
Pre-process constructor arguments for local managed classes. A managed class is <code>local</code> if is of
{@link InstanceType#POJO} or {@link InstanceType#PROXY} type. Attempting to pre-process arguments for other managed class
types is silently ignored. This method delegates
{@link #preProcessArguments(ManagedClassSPI, Member, Class[], Object...)}.

@param managedClass managed class,
@param args constructor arguments.
@return processed arguments.