private String getShortDescription(String name) {
    LogUtils.i("Searching a short description for: \"" + name + "\"");

    final Iterable<String> html = FreehalFiles.createInstance("wikipedia", name).readLines();
    List<String> desc = new ArrayList<String>();
    final int limitLines = 3;

    for (String line : html) {
      // skip empty lines
      line = StringUtils.trim(line);
      if (line.length() == 0) continue;
      // skip disambiguation links
      if (langUtils.lineContainsDisambiguation(line)) continue;
      // skip images
      if (langUtils.lineContainsFile(line)) continue;
      // skip templates
      if (line.contains("[[Wikipedia:")) continue;
      // skip headings
      if (line.startsWith("==")) continue;
      // skip infoboxes
      if (line.contains("{{")
          || line.contains("}}")
          || (line.startsWith("|") && line.contains("="))) continue;

      // add sentences to description
      // is it the beginning of a list?
      if (line.endsWith(":") && !line.contains(".")) desc.add(line + "\n");
      // or a list element
      else if (line.startsWith("*")) desc.add(line + "\n");
      // or a normal paragraph...
      else if (desc.size() < limitLines) {

        for (String sentence : line.split("\\.( |$)")) {
          sentence = sentence.trim();
          if (sentence.length() > 0 && desc.size() < limitLines) desc.add(sentence + ". ");
        }
      } else break;
    }

    if (desc.size() > 0) return toPlainText(StringUtils.join("", desc));
    else return null;
  }