code: public static Class<?>[] getParameterTypesFrom (Object[] args)
      {
          Class<?>[] argTypes = null;
          if (args != null) {
              argTypes = new Class<?>[args.length];
              for (int i = 0; i < args.length; ++i) {
                  argTypes[i] = (args[i] == null) ? Void.TYPE : args[i].getClass();
              }
          } else {
              argTypes = new Class<?>[0];
          }
          return argTypes;
      }
docs: @param args an object array.
  
  @return an array of Class objects representing the classes of the objects in the given
  Object array.  If args is null, a zero-length Class array is returned.  If an element in
  args is null, then Void.TYPE is the corresponding Class in the return array.