/* (non-JavaDoc)
   * Method declared in SelectionDispatchAction.
   */
  private IMember getMember(IStructuredSelection selection) {
    if (selection.size() != 1) return null;
    Object o = selection.getFirstElement();
    if (o instanceof IMember) {
      IMember member = (IMember) o;
      try {
        if (member.getNameRange() == null) return null;
      } catch (JavaModelException ex) {
        return null;
      }

      IClassFile file = member.getClassFile();
      if (file != null) {
        try {
          if (file.getSourceRange() != null) return member;
        } catch (JavaModelException e) {
          return null;
        }
      }
      return member;
    }
    return null;
  }