code: public static String join(Object[] array, String separator) {
          if (array == null) {
              return null;
          }
          StringBuilder builder = new StringBuilder();
          for (int i = 0; i < array.length; i++) {
              Object o = array[i];
              if (i > 0) {
                  builder.append(separator);
              }
              builder.append(o);
          }
          return builder.toString();
      }
docs: <p>Joins the elements of the provided array into a single String
  containing the provided list of elements.</p>
  
  <p>No delimiter is added before or after the list.
  A <code>null</code> separator is the same as an empty String ("").
  Null objects or empty strings within the array are represented by
  empty strings.</p>
  
  <pre>
  StringUtils.join(null, *)                = null
  StringUtils.join([], *)                  = ""
  StringUtils.join([null], *)              = ""
  StringUtils.join(["a", "b", "c"], "--")  = "a--b--c"
  StringUtils.join(["a", "b", "c"], null)  = "abc"
  StringUtils.join(["a", "b", "c"], "")    = "abc"
  StringUtils.join([null, "", "a"], ',')   = ",,a"
  </pre>
  
  @param array  the array of values to join together, may be null
  @param separator  the separator character to use, null treated as ""
  @return the joined String, <code>null</code> if null array input