private static ISourceRange getSourceRange(IJavaElement element) throws JavaModelException { ISourceRange sourceRange = null; if (element instanceof IMember) { IMember member = (IMember) element; sourceRange = member.getSourceRange(); } else if (element instanceof ITypeParameter || element instanceof ILocalVariable) { sourceRange = ((ISourceReference) element).getSourceRange(); } else if (element instanceof ISourceReference) { sourceRange = ((ISourceReference) element).getSourceRange(); } if (!SourceRange.isAvailable(sourceRange) && element.getParent() != null) { sourceRange = getSourceRange(element.getParent()); } return sourceRange; }