public NounPart unravel(Type to, Aliaser a) {
if (to instanceof GenericArrayType) {
GenericArrayType gt = (GenericArrayType) to;
Type raw = gt.getGenericComponentType();
NounPart np = generateNoun(raw, a);
return new AnnotatedNounPartImpl(np, "array of ");
} else if ((to instanceof Class<?>) && (((Class<?>) to).isArray())) {
NounPart np = generateNoun(((Class<?>) to).getComponentType(), a);
return new AnnotatedNounPartImpl(np, "array of ");
}
throw new LogicException("Should not unravel with array unraveller !" + to);
}