@Nullable Object getHelper(Class aClass) {
    Object result;

    synchronized (myCache) {
      result = myCache.get(aClass);
    }
    
    if (result == null) {
      result = ourNullObject;
      Class<?> helperClass = null;
      try {
        final ClassLoader loader = aClass.getClassLoader();
        helperClass = loader != null? loader.loadClass("org.apache.tools.ant.IntrospectionHelper") : IntrospectionHelper.class;
        final Method getHelperMethod = helperClass.getMethod("getHelper", Class.class);
        result = getHelperMethod.invoke(null, aClass);
      }
      catch (ClassNotFoundException | IllegalAccessException | NoSuchMethodException e) {
        LOG.info(e);
      }
      catch (InvocationTargetException ignored) {
      }

      synchronized (myCache) {
        if (helperClass != null) {
          clearAntStaticCache(helperClass);
        }
        myCache.put(aClass, result);
      }
    }
    scheduleCacheCleaning();
    return result == ourNullObject? null : result;
  }
@Nullable Object getHelper(Class aClass)