* @param string2
   * @param otherstrings
   * @return String
   */
  public static String string_concatenate(String string1, String string2, Cons otherstrings) {
    if (otherstrings.length() == 0) {
      return (Native.stringConcatenate(string1, string2));
    }
    { StringBuffer result = null;
      int length = string1.length() + string2.length();
      int index = 0;

      { String string = null;
        Cons iter000 = otherstrings;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          string = ((StringWrapper)(iter000.value)).wrapperValue;
          length = length + string.length();
        }
      }
      result = Stella.makeRawMutableString(length);
      { char ch = Stella.NULL_CHARACTER;
        String vector000 = string1;
        int index000 = 0;
        int length000 = vector000.length();

        for (;index000 < length000; index000 = index000 + 1) {
          ch = vector000.charAt(index000);
          edu.isi.stella.javalib.Native.mutableString_nthSetter(result, ch, index);
          index = index + 1;
        }
      }
      { char ch = Stella.NULL_CHARACTER;
        String vector001 = string2;
        int index001 = 0;
        int length001 = vector001.length();

        for (;index001 < length001; index001 = index001 + 1) {
          ch = vector001.charAt(index001);
          edu.isi.stella.javalib.Native.mutableString_nthSetter(result, ch, index);
          index = index + 1;
        }
      }
      { String string = null;
        Cons iter001 = otherstrings;

        for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
          string = ((StringWrapper)(iter001.value)).wrapperValue;
          { char ch = Stella.NULL_CHARACTER;
            String vector002 = string;
            int index002 = 0;
            int length002 = vector002.length();

            for (;index002 < length002; index002 = index002 + 1) {
              ch = vector002.charAt(index002);
              edu.isi.stella.javalib.Native.mutableString_nthSetter(result, ch, index);
              index = index + 1;
            }
          }
        }
      }
      return (result.toString());
    }
  }