code: public static Object invoke(Object bean, String name, Object[] args, int offset, int count) throws
      NoSuchMethodException, IllegalAccessException, InvocationTargetException {
          if (offset != 0 || count != args.length) {
              return invoke(bean, name, Arrays.copyOfRange(args, offset, offset + count));
          } else {
              return invoke(bean, name, args);
          }
      }
docs: Invokes a bean method by choosing the best method that matches the given name and the list of arguments.
  
  @param bean the invocation target
  @param name the name of the method to invoke
  @param args the arguments to pass to the method
  @param offset the offset into the args array from which to retrieve arguments
  @param count the number of arguments from the args array to pass to the method
  @return the return value from the method
  @throws NoSuchMethodException if an appropriate method cannot be found
  @throws IllegalAccessException if an appropriate method cannot be accessed
  @throws InvocationTargetException if errors occur while invoking the method