}
// first search via XDoclet
ArrayList queue = new ArrayList();
boolean canSpecify = false;
XClass curType;
queue.add(type);
while (!queue.isEmpty())
{
curType = (XClass)queue.get(0);
queue.remove(0);
if (baseType.equals(curType.getQualifiedName()))
{
return true;
}
if (curType.getInterfaces() != null)
{
for (Iterator it = curType.getInterfaces().iterator(); it.hasNext(); )
{
queue.add(it.next());
}
}
if (!curType.isInterface())
{
if (curType.getSuperclass() != null)
{
queue.add(curType.getSuperclass());
}
}
}
// if not found, we try via actual classes