code: @SuppressWarnings("unchecked")
    protected Class[] getArgumentTypes(final Object... arguments) {
      Class[] argumentTypes = new Class[arguments.length];
      int index = 0;
  
      for (Object argument : arguments) {
        argumentTypes[index++] = ObjectUtils.defaultIfNull(ClassUtils.getClass(argument), Object.class);
      }
  
      return argumentTypes;
    }
docs: Determines the class types of the array of object arguments.
  
  @param arguments the array of Object arguments to determine the class types for.
  @return an array of Class types for each of the arguments in the array.
  @see org.cp.elements.lang.ClassUtils#getClass(Object)