@Override protected LightweightTypeReference doVisitArrayTypeReference(ArrayTypeReference reference, Visiting visiting) { if (reference.isResolved() && reference.isOwnedBy(getOwner())) return reference; LightweightTypeReference component = visitTypeArgument(reference.getComponentType(), visiting); component = component.getUpperBoundSubstitute(); return getOwner().newArrayTypeReference(component); }