private IType GetExternalEnumeratorItemType(IType iteratorType)
{
Type type = ((ExternalType) iteratorType).ActualType;
var attribute = (EnumeratorItemTypeAttribute) Attribute.GetCustomAttribute(type, typeof(EnumeratorItemTypeAttribute));
return null != attribute ? Map(attribute.ItemType) : null;
}