/**
  * Store a cookie string associated with a url.
  *
  * @param url The url to be used as a key for the cookie.
  * @param value The cookie string to be stored.
  */
 @DSComment("Private Method")
 @DSBan(DSCat.PRIVATE_METHOD)
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 12:32:41.967 -0500",
     hash_original_method = "D5A9FC7DDB356B7F9D175C82B50A2AF1",
     hash_generated_method = "24C7574FF957618A543446AAAEE4BC4D")
 private void setCookies(String url, String value) {
   if (value.contains("\r") || value.contains("\n")) {
     // for security reason, filter out '\r' and '\n' from the cookie
     int size = value.length();
     StringBuilder buffer = new StringBuilder(size);
     int i = 0;
     while (i != -1 && i < size) {
       int ir = value.indexOf('\r', i);
       int in = value.indexOf('\n', i);
       int newi = (ir == -1) ? in : (in == -1 ? ir : (ir < in ? ir : in));
       if (newi > i) {
         buffer.append(value.subSequence(i, newi));
       } else if (newi == -1) {
         buffer.append(value.subSequence(i, size));
         break;
       }
       i = newi + 1;
     }
     value = buffer.toString();
   }
   CookieManager.getInstance().setCookie(url, value);
 }
 /**
  * Returns {@link StringBuilder#toString()}.
  *
  * @return The contents of the String builder.
  */
 @DSSafe(DSCat.SAFE_LIST)
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2014-09-03 14:59:51.958 -0400",
     hash_original_method = "E91A134CF2A6965AC8B4CE2DD48C1D34",
     hash_generated_method = "D7F9E85DEC15BAB3E09D168F01E1AEF5")
 @Override
 public String toString() {
   return builder.toString();
 }
 @DSComment("Private Method")
 @DSBan(DSCat.PRIVATE_METHOD)
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 12:33:25.523 -0500",
     hash_original_method = "365F60E44B7DA4848E76578B1D312F6F",
     hash_generated_method = "D50175F96A203B6C6D18C23FC2D8164A")
 private void flushBuilder() {
   if (mBuilder.length() > 0) {
     Log.println_native(mBuffer, mPriority, mTag, mBuilder.toString());
     mBuilder.delete(0, mBuilder.length());
   }
 }
 @DSSafe(DSCat.SAFE_LIST)
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2014-09-06 12:51:00.137 -0400",
     hash_original_method = "49458D88F683CFC562519CCC6028F4B9",
     hash_generated_method = "4B5E547FB6FFD5603EAB17A33A903C56")
 @Override
 public String toString() {
   if (mStart == 0 && mEnd == Integer.MAX_VALUE) {
     return "PageRange[<all pages>]";
   }
   StringBuilder builder = new StringBuilder();
   builder.append("PageRange[").append(mStart).append(" - ").append(mEnd).append("]");
   return builder.toString();
 }
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 13:02:32.338 -0500",
     hash_original_method = "03F9E8D356406A137FAD06FB9E8EE371",
     hash_generated_method = "B479C1FE28922670A2BCFDF1F907920E")
 public String toHeaderString() {
   StringBuilder result = new StringBuilder(256);
   result.append(statusLine).append("\r\n");
   for (int i = 0; i < namesAndValues.size(); i += 2) {
     result
         .append(namesAndValues.get(i))
         .append(": ")
         .append(namesAndValues.get(i + 1))
         .append("\r\n");
   }
   result.append("\r\n");
   return result.toString();
 }
 /**
  * Returns a String that is suitable for use as an <code>application/x-www-form-urlencoded</code>
  * list of parameters in an HTTP PUT or HTTP POST.
  *
  * @param parameters The parameters to include.
  * @param encoding The encoding to use.
  */
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 13:01:44.463 -0500",
     hash_original_method = "FC50720DD3E5D2157039A2F08974D046",
     hash_generated_method = "DDE2DF273A0113D2EC3E0F3A3C8BCEAE")
 public static String format(
     final List<? extends NameValuePair> parameters, final String encoding) {
   final StringBuilder result = new StringBuilder();
   for (final NameValuePair parameter : parameters) {
     final String encodedName = encode(parameter.getName(), encoding);
     final String value = parameter.getValue();
     final String encodedValue = value != null ? encode(value, encoding) : "";
     if (result.length() > 0) result.append(PARAMETER_SEPARATOR);
     result.append(encodedName);
     result.append(NAME_VALUE_SEPARATOR);
     result.append(encodedValue);
   }
   return result.toString();
 }