code: Object interceptEntryHook(final Object mock, final Method method, final Object[] rawArgs,
                                final SuperMethod superMethod) throws Throwable {
          // args can be null if the method invoked has no arguments, but Mockito expects a non-null
          Object[] args = rawArgs;
          if (rawArgs == null) {
              args = new Object[0];
          }
  
          return handler.handle(Mockito.framework().getInvocationFactory().createInvocation(mock,
                  withSettings().build(mock.getClass()), method, new RealMethodBehavior() {
                      @Override
                      public Object call() throws Throwable {
                          return superMethod.invoke();
                      }
                  }, args));
      }
docs: Intercept a method call. Called <u>before</u> a method is called by the method entry hook.
  
  <p>This does the same as {@link #invoke(Object, Method, Object[])} but this handles methods
  that got and entry hook.
  
  @param mock mocked object
  @param method method that was called
  @param rawArgs arguments to the method
  @param superMethod The super method
  
  @return mocked result
  @throws Throwable An exception if thrown