/** * Return all calls that have a parameter with given type * * @param clazz * @param resolve * @return * @throws ConstructionFailedException */ public Set<GenericAccessibleObject<?>> getCallsFor(GenericClass clazz, boolean resolve) throws ConstructionFailedException { logger.debug("Getting calls for " + clazz); if (clazz.hasWildcardOrTypeVariables()) { logger.debug("Resolving generic type before getting modifiers"); GenericClass concreteClass = clazz.getGenericInstantiation(); if (!concreteClass.equals(clazz)) return getCallsFor(concreteClass, false); } if (isSpecialCase(clazz)) { logger.debug("Getting modifiers for special case " + clazz); return getCallsForSpecialCase(clazz); } logger.debug("Getting modifiers for regular case " + clazz); if (!modifiers.containsKey(clazz)) { return determineGenericModifiersFor(clazz); } return modifiers.get(clazz); }