public static <T> CycList<T> construct(final T object1, final Object object2) {
    final CycList<T> cycList = new CycList<T>(object1);
    if (object2.equals(CycObjectFactory.nil)) {
      return cycList;
    }
    if (object2 instanceof CycList) {
      final CycList cycList2 = (CycList) object2;
      cycList.addAll(cycList2);
      return cycList;
    }
    cycList.setDottedElement((T) object2);
    return cycList;
  }