private static NodeArray <IDecorator> RemovePositionDecorator(NodeArray <IDecorator> decorators) { Contract.Assert(decorators.Count > 0); var originalDecorators = new IDecorator[decorators.Count - 1]; if (originalDecorators.Length > 0) { decorators.CopyTo(1, originalDecorators, 0, decorators.Count - 1); } return(new NodeArray <IDecorator>(originalDecorators)); }