public ICompilerStep this[int index] { get { return (ICompilerStep)_items[index]; } set { if (null == value) throw new ArgumentNullException("value"); _items[index] = value; } }