protected override object RunBlock() { object obj = base.contextBlock.Run(); Array array = obj as Array; if (array != null) { int num = 0; try { num = ((base.paramBlocks[1] != null) ? ((int)base.paramBlocks[1].Run()) : 0); } catch (Exception e) { object value = base.paramBlocks[0].Run(); object obj2 = null; if (BloxUtil.TryConvert(value, typeof(int), out obj2)) { num = (int)obj2; goto end_IL_003d; } base.LogError("The index is invalid. Expected Integer value.", e); return(null); end_IL_003d :; } if (num >= 0 && num <= array.Length) { BloxBlock obj3 = base.paramBlocks[0]; object value2 = (obj3 != null) ? obj3.Run() : null; try { Array val = BloxUtil.ArrayInsert(array, value2, num); base.contextBlock.UpdateWith(val); } catch (Exception ex) { base.LogError(ex.Message, null); } goto IL_0135; } base.LogError("The index [" + num + "] is out of range. It should be a value between Array Start:[0] and Array Size:[" + array.Length + "]. Remember that arrays start indexing at 0 and not 1.", null); return(null); } base.LogError("The context must be an Array but was [" + ((obj != null) ? obj.GetType() : null) + "]", null); goto IL_0135; IL_0135: return(null); }