PR_ASSERT(start != end);
SI_FindValueInArgs(const nsAString& results, const nsAString& name, nsAString& value){  /* note: name must start and end with a vertical bar */  nsReadingIterator<PRUnichar> start, end, barPos;  results.BeginReading(start);  results.EndReading(end);  FindInReadable(name, start, end);  PR_ASSERT(start != end);  if (start == end) {    return;  }  start.advance(name.Length()); /* get past the |name| part */  barPos = start;  results.EndReading(end);  FindCharInReadable(PRUnichar('|'), barPos, end);  value = Substring(start, barPos);}