final Iterator<TypeParameter> typeParameters = usv == null || usv.isEmpty() ?
null : pt.getDeclaration().getTypeParameters().iterator();
for (ProducedType targ : pt.getTypeArgumentList()) {
final Map<String, Object> tpmap = typeParameterMap(targ, from);
final TypeParameter typeParam = typeParameters == null ? null : typeParameters.next();
final SiteVariance variance = typeParam == null ? null : usv.get(typeParam);
if (variance != null) {
tpmap.put(MetamodelGenerator.KEY_US_VARIANCE, variance.ordinal());
}
list.add(tpmap);
}
container.put(KEY_TYPE_PARAMS, list);
}