public static String[] toStringArray(ObjectArrayList<String> stringArrayList) {
    Object elements = stringArrayList.elements();
    if (elements instanceof String[]) {
      String[] stringArrayListElements = (String[]) elements;
      if (stringArrayListElements.length == stringArrayList.size()) {
        return stringArrayListElements;
      }
    }
    return stringArrayList.toArray(new String[0]);
  }
@Test
  public void testToStringArray() {
    // Test empty list
    ObjectArrayList<String> stringArrayList = new ObjectArrayList<String>();
    String[] stringArray = ArrayListUtils.toStringArray(stringArrayList);
    assertEquals(stringArray.length, 0);

    // Test list with one element
    stringArrayList.add("1");
    stringArray = ArrayListUtils.toStringArray(stringArrayList);
    assertEquals(stringArray.length, 1);
    assertEquals(stringArray[0], "1");

    // Test list with multiple elements
    stringArrayList.add("2");
    stringArrayList.add("3");
    stringArray = ArrayListUtils.toStringArray(stringArrayList);
    assertEquals(stringArray.length, 3);
    assertEquals(stringArray[0], "1");
    assertEquals(stringArray[1], "2");
    assertEquals(stringArray[2], "3");
  }