/// <summary>Gets the insert position.</summary> /// <param name="statement">The statement.</param> /// <returns>Returns the insert position.</returns> protected DocumentRange GetInsertPosition(IStatement statement) { var foreachStatement = statement as IUsingStatement; if (foreachStatement == null) { return DocumentRange.InvalidRange; } var factory = CSharpElementFactory.GetInstance(statement.GetPsiModule()); var body = foreachStatement.Body; if (body == null) { foreachStatement.SetBody(factory.CreateEmptyBlock()); } var block = foreachStatement.Body as IBlock; if (block == null) { block = factory.CreateEmptyBlock(); block.AddStatementAfter(foreachStatement.Body, null); foreachStatement.SetBody(factory.CreateEmptyBlock()); } return block.LBrace.GetDocumentRange().EndOffsetRange(); }