IdeaModule (@NotNull IdeaModuleDependency dependency) { Method getDependencyModule = ReflectionUtil.getMethod(dependency.getClass(), "getDependencyModule"); if (getDependencyModule != null) { try { Object result = getDependencyModule.invoke(dependency); return (IdeaModule)result; } catch (IllegalAccessException | InvocationTargetException e) { LOG.info("Failed to get dependency module for [" + dependency + "]", e); } } return null; }