code: private String[] findSourceInStack()
    {
      StackTraceElement[] stackTraces = Thread.currentThread().getStackTrace();
      String[] results = new String[2];
      for (int i = 0; i < stackTraces.length; i++)
      {
        if (logMethods.contains(stackTraces[i].getMethodName()))
        {
          // since already find the highest logMethods, find the first method after this one
          // and is not a logMethods. This is done to avoid multiple wrapper over log methods
          for (int j = i; j < stackTraces.length; j++)
          {
            if (!logMethods.contains(stackTraces[j].getMethodName()))
            {
              results[0] = stackTraces[j].getClassName();
              results[1] = stackTraces[j].getMethodName();
              return results;
            }
          }
        }
      }
      return results;
    }
docs: Used to find the index of the source class/method in current stack
  This method will locate the source as the first method after logMethods
  
  @return an array of size two, first element is className and second is
  methodName