public boolean hasUnsatisfiedDependency(ResolvedType aspectType) {
if (!aspectRequiredTypesProcessed) {
if (aspectRequiredTypes != null) {
List<String> forRemoval = new ArrayList<String>();
for (Map.Entry<String, String> entry : aspectRequiredTypes.entrySet()) {
ResolvedType rt = this.resolve(UnresolvedType.forName(entry.getValue()));
if (!rt.isMissing()) {
forRemoval.add(entry.getKey());
} else {
if (!getMessageHandler().isIgnoring(IMessage.INFO)) {
getMessageHandler().handleMessage(
MessageUtil.info("deactivating aspect '" + aspectType.getName() + "' as it requires type '"
+ rt.getName() + "' which cannot be found on the classpath"));
}
}
}
for (String key : forRemoval) {
aspectRequiredTypes.remove(key);