static int GetClosingBraceForLine (TextEditor editor, int line, out int openingLine)
		{
			int offset = editor.GetPositionFromLineColumn (line, 1);
			offset = SearchMatchingBracket (editor, offset, '{', '}', -1);
			if (offset == -1) {
				openingLine = -1;
				return -1;
			}
				
			int col;
			editor.GetLineColumnFromPosition (offset, out openingLine, out col);
			return offset;
		}
        internal static string CreateWrapperClassForMember(IMember member, string fileName, TextEditor editor)
        {
            if (member == null)
                return "";
            StringBuilder result = new StringBuilder ();
            int startLine = member.Location.Line;
            int endLine   = member.Location.Line;
            if (!member.BodyRegion.IsEmpty)
                endLine = member.BodyRegion.End.Line + 1;
            string text;
            result.Append ("class " + member.DeclaringType.Name + " {");
            if (editor != null) {
                int col, maxLine;
                editor.GetLineColumnFromPosition (editor.TextLength - 1, out col, out maxLine);
                endLine = System.Math.Max (endLine, maxLine);

                int endPos = editor.GetPositionFromLineColumn (endLine, editor.GetLineLength (endLine));
                if (endPos < 0)
                    endPos = editor.TextLength;
                text = editor.GetText (editor.GetPositionFromLineColumn (startLine, 0), endPos);
            } else {
                Mono.TextEditor.Document doc = new Mono.TextEditor.Document ();
                doc.Text = File.ReadAllText (fileName) ?? "";
                startLine = Math.Min (doc.LineCount, Math.Max (1, startLine));
                endLine   = Math.Min (doc.LineCount, Math.Max (1, endLine));
                int startOffset = doc.LocationToOffset (startLine - 1, 0);
                text = doc.GetTextAt (startOffset, doc.LocationToOffset (endLine  - 1, doc.GetLine (endLine - 1).EditableLength) - startOffset);
            }
            if (!string.IsNullOrEmpty (text))
                result.Append (text);
            result.Append ("}");

            return result.ToString ();
        }