public static Skolem insertElementComputation(Skolem list, IntegerWrapper narg, Stella_Object element) {
    if (!(Logic.enumeratedListP(list))) {
      return (null);
    }
    { int n = narg.wrapperValue;
      Vector elements = list.definingProposition.arguments;
      int nelements = elements.length() - 1;
      List newelements = List.newList();

      if (n < 0) {
        n = nelements + n + 1;
      }
      if ((n < 0) ||
          (n > nelements)) {
        return (null);
      }
      { Stella_Object elt = null;
        Vector vector000 = elements;
        int index000 = 0;
        int length000 = vector000.length();
        int i = Stella.NULL_INTEGER;
        int iter000 = 0;
        int upperBound000 = nelements - 1;

        for (;(index000 < length000) &&
                  (iter000 <= upperBound000); index000 = index000 + 1, iter000 = iter000 + 1) {
          elt = (vector000.theArray)[index000];
          i = iter000;
          if (i == n) {
            newelements.push(element);
          }
          newelements.push(elt);
        }
      }
      if (n == nelements) {
        newelements.push(element);
      }
      return (Logic.createLogicalList(newelements.reverse()));
    }
  }