public static SourceCodeEditor showInCodeEditor(this SourceCodeEditor codeEditor, Java_Class _class, Java_Method method)
        {
            //var _class = classes_bySignature[classSignature];
            var file = _class.file();

            codeEditor.open(file);
            var lineNumber = 0;

            if (method.isNull() || method.LineNumbers.isNull())
            {
                return(codeEditor);
            }
            foreach (var item in method.LineNumbers)
            {
                if (item.Line_Number > 1)
                {
                    if (lineNumber == 0 || item.Line_Number < lineNumber)
                    {
                        lineNumber = item.Line_Number;
                    }
                }
            }

            //this to match the method name to the location (vs the first method)
            var sourceCodeLines = codeEditor.getSourceCode().lines(false);

            if (method.Name.regEx("<.*init*.>").isFalse())
            {
                for (int i = 0; i < 10; i++)
                {
                    if (lineNumber > i && sourceCodeLines.size() > lineNumber - i)
                    {
                        var line = sourceCodeLines[lineNumber - i];
                        if (sourceCodeLines[lineNumber - i].contains(method.Name) &&
                            line.regEx("public|private|internal|protected"))
                        {
                            lineNumber = lineNumber - i + 1;
                            break;
                        }
                    }
                }
            }
            codeEditor.gotoLine(lineNumber, 4);

            return(codeEditor);
        }
		public static SourceCodeEditor showInCodeEditor(this SourceCodeEditor codeEditor ,Java_Class _class, Java_Method method)
		{										
			//var _class = classes_bySignature[classSignature];
			var file = _class.file();
			codeEditor.open(file);
			var lineNumber = 0; 
			if (method.isNull() ||method.LineNumbers.isNull())
				return codeEditor;
			foreach(var item in method.LineNumbers)
				if (item.Line_Number > 1)
					if (lineNumber == 0 || item.Line_Number < lineNumber)
						lineNumber = item.Line_Number;
						
			//this to match the method name to the location (vs the first method)
			var sourceCodeLines = codeEditor.getSourceCode().lines(false);
			if (method.Name.regEx("<.*init*.>").isFalse())
			{
				for(int i=0 ; i < 10 ; i++)
				{
					
					if (lineNumber > i &&   sourceCodeLines.size() > lineNumber-i)
					{
						var line = sourceCodeLines[lineNumber-i];					
						if (sourceCodeLines[lineNumber-i].contains(method.Name) &&
							line.regEx("public|private|internal|protected"))
						{						
							lineNumber = lineNumber -i + 1;						
							break;
						}
					}
				}
			}			
			codeEditor.gotoLine(lineNumber,4);
			
			return codeEditor;
   		}