--- java/target/swig/JXR_wrap.cxx	2025-05-17 15:38:07.596092257 +0200
+++ java/target/swig/JXR_wrap.cxx	2025-05-17 17:10:08.411342825 +0200
@@ -1,14 +1,42 @@
 /* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (https://www.swig.org).
- * Version 4.3.0
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 3.0.12
  *
- * Do not make changes to this file unless you know what you are doing - modify
- * the SWIG interface file instead.
+ * This file is not intended to be easily readable and contains a number of
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG
+ * interface file instead.
  * ----------------------------------------------------------------------------- */
 
 
-#define SWIG_VERSION 0x040300
+#ifndef SWIGJAVA
 #define SWIGJAVA
+#endif
+
+
+
+#ifdef __cplusplus
+/* SwigValueWrapper is described in swig.swg */
+template<typename T> class SwigValueWrapper {
+  struct SwigMovePointer {
+    T *ptr;
+    SwigMovePointer(T *p) : ptr(p) { }
+    ~SwigMovePointer() { delete ptr; }
+    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
+  } pointer;
+  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
+public:
+  SwigValueWrapper() : pointer(0) { }
+  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
+  operator T&() const { return *pointer.ptr; }
+  T *operator&() { return pointer.ptr; }
+};
+
+template <typename T> T SwigValueInit() {
+  return T();
+}
+#endif
 
 /* -----------------------------------------------------------------------------
  *  This section contains generic SWIG labels for method/variable
@@ -134,40 +162,18 @@
 # pragma warning disable 592
 #endif
 
-#if defined(__cplusplus) && __cplusplus >=201103L
-# define SWIG_NULLPTR nullptr
-#else
-# define SWIG_NULLPTR NULL
-#endif 
-
-/* -----------------------------------------------------------------------------
- * swigcompat.swg
- *
- * Macros to provide support compatibility with older C and C++ standards.
- *
- * Note that SWIG expects __cplusplus to be defined to the appropriate C++ standard.
- * MSVC users are urged to check and examine the /Zc:__cplusplus compiler option.
- * See https://learn.microsoft.com/en-us/cpp/build/reference/zc-cplusplus.
- * ----------------------------------------------------------------------------- */
 
-/* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF
- * if you're missing it.
- */
-#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \
-     (defined __cplusplus && __cplusplus >= 201103L) || \
-     defined SWIG_HAVE_SNPRINTF) && \
-    !defined SWIG_NO_SNPRINTF
-# define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A)
-# define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B)
-#else
-/* Fallback versions ignore the buffer size, but most of our uses either have a
- * fixed maximum possible size or dynamically allocate a buffer that's large
- * enough.
- */
-# define SWIG_snprintf(O,S,F,A) sprintf(O,F,A)
-# define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B)
+/* Fix for jlong on some versions of gcc on Windows */
+#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
+  typedef long long __int64;
 #endif
 
+/* Fix for jlong on 64-bit x86 Solaris */
+#if defined(__x86_64)
+# ifdef _LP64
+#   undef _LP64
+# endif
+#endif
 
 #include <jni.h>
 #include <stdlib.h>
@@ -176,16 +182,15 @@
 
 /* Support for throwing Java exceptions */
 typedef enum {
-  SWIG_JavaOutOfMemoryError = 1,
-  SWIG_JavaIOException,
-  SWIG_JavaRuntimeException,
+  SWIG_JavaOutOfMemoryError = 1, 
+  SWIG_JavaIOException, 
+  SWIG_JavaRuntimeException, 
   SWIG_JavaIndexOutOfBoundsException,
   SWIG_JavaArithmeticException,
   SWIG_JavaIllegalArgumentException,
   SWIG_JavaNullPointerException,
   SWIG_JavaDirectorPureVirtual,
-  SWIG_JavaUnknownError,
-  SWIG_JavaIllegalStateException,
+  SWIG_JavaUnknownError
 } SWIG_JavaExceptionCodes;
 
 typedef struct {
@@ -206,7 +211,6 @@
     { SWIG_JavaNullPointerException, "java/lang/NullPointerException" },
     { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" },
     { SWIG_JavaUnknownError,  "java/lang/UnknownError" },
-    { SWIG_JavaIllegalStateException, "java/lang/IllegalStateException" },
     { (SWIG_JavaExceptionCodes)0,  "java/lang/UnknownError" }
   };
   const SWIG_JavaExceptions_t *except_ptr = java_exceptions;
@@ -223,55 +227,7 @@
 
 /* Contract support */
 
-#define SWIG_contract_assert(nullreturn, expr, msg) do { if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } } while (0)
-
-
-#ifdef __cplusplus
-#include <utility>
-/* SwigValueWrapper is described in swig.swg */
-template<typename T> class SwigValueWrapper {
-  struct SwigSmartPointer {
-    T *ptr;
-    SwigSmartPointer(T *p) : ptr(p) { }
-    ~SwigSmartPointer() { delete ptr; }
-    SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
-    void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; }
-  } pointer;
-  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
-public:
-  SwigValueWrapper() : pointer(0) { }
-  SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; }
-#if __cplusplus >=201103L
-  SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; }
-  operator T&&() const { return std::move(*pointer.ptr); }
-#else
-  operator T&() const { return *pointer.ptr; }
-#endif
-  T *operator&() const { return pointer.ptr; }
-  static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); }
-};
-
-/*
- * SwigValueInit() is a generic initialisation solution as the following approach:
- * 
- *       T c_result = T();
- * 
- * doesn't compile for all types for example:
- * 
- *       unsigned int c_result = unsigned int();
- */
-template <typename T> T SwigValueInit() {
-  return T();
-}
-
-#if __cplusplus >=201103L
-# define SWIG_STD_MOVE(OBJ) std::move(OBJ)
-#else
-# define SWIG_STD_MOVE(OBJ) OBJ
-#endif
-
-#endif
+#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else
 
 
 #include <typeinfo>
@@ -333,9 +289,9 @@
 static jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz);
 
 
-static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, long long **carr, jlongArray input);
-static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, long long *carr, jlongArray input);
-static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, long long *result, jsize sz);
+static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input);
+static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input);
+static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz);
 
 
 static int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input);
@@ -765,8 +721,8 @@
 }
 
 
-/* long long[] support */
-static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, long long **carr, jlongArray input) {
+/* jlong[] support */
+static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input) {
   int i;
   jsize sz;
   if (!input) {
@@ -777,17 +733,17 @@
   *jarr = jenv->GetLongArrayElements(input, 0);
   if (!*jarr)
     return 0; 
-  *carr = new long long[sz]; 
+  *carr = new jlong[sz]; 
   if (!*carr) {
     SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed");
     return 0;
   }
   for (i=0; i<sz; i++)
-    (*carr)[i] = (long long)(*jarr)[i];
+    (*carr)[i] = (jlong)(*jarr)[i];
   return 1;
 }
 
-static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, long long *carr, jlongArray input) {
+static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input) {
   int i;
   jsize sz = jenv->GetArrayLength(input);
   for (i=0; i<sz; i++)
@@ -795,7 +751,7 @@
   jenv->ReleaseLongArrayElements(input, jarr, 0);
 }
 
-static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, long long *result, jsize sz) {
+static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz) {
   jlong *arr;
   int i;
   jlongArray jresult = jenv->NewLongArray(sz);
@@ -916,83 +872,20 @@
   #include "Resolution.hpp"
   #include "Stream.hpp"
 
-
-/* Check for overflow converting to Java int (always signed 32-bit) from (unsigned variable-bit) size_t */
-SWIGINTERN jint SWIG_JavaIntFromSize_t(size_t size) {
-  static const jint JINT_MAX = 0x7FFFFFFF;
-  return (size > (size_t)JINT_MAX) ? -1 : (jint)size;
-}
-
-
-SWIGINTERN jint SWIG_VectorSize(size_t size) {
-  jint sz = SWIG_JavaIntFromSize_t(size);
-  if (sz == -1)
-    throw std::out_of_range("vector size is too large to fit into a Java int");
-  return sz;
-}
-
-SWIGINTERN std::vector< char > *new_std_vector_Sl_char_Sg___SWIG_2(jint count,char const &value){
-        if (count < 0)
-          throw std::out_of_range("vector count must be positive");
-        return new std::vector< char >(static_cast<std::vector< char >::size_type>(count), value);
-      }
-SWIGINTERN jint std_vector_Sl_char_Sg__doCapacity(std::vector< char > *self){
-        return SWIG_VectorSize(self->capacity());
-      }
-SWIGINTERN void std_vector_Sl_char_Sg__doReserve(std::vector< char > *self,jint n){
-        if (n < 0)
-          throw std::out_of_range("vector reserve size must be positive");
-        self->reserve(n);
-      }
-SWIGINTERN jint std_vector_Sl_char_Sg__doSize(std::vector< char > const *self){
-        return SWIG_VectorSize(self->size());
-      }
-SWIGINTERN void std_vector_Sl_char_Sg__doAdd__SWIG_0(std::vector< char > *self,std::vector< char >::value_type const &x){
-        self->push_back(x);
-      }
-SWIGINTERN void std_vector_Sl_char_Sg__doAdd__SWIG_1(std::vector< char > *self,jint index,std::vector< char >::value_type const &x){
-        jint size = static_cast<jint>(self->size());
-        if (0 <= index && index <= size) {
-          self->insert(self->begin() + index, x);
-        } else {
-          throw std::out_of_range("vector index out of range");
-        }
-      }
-SWIGINTERN std::vector< char >::value_type std_vector_Sl_char_Sg__doRemove(std::vector< char > *self,jint index){
-        jint size = static_cast<jint>(self->size());
-        if (0 <= index && index < size) {
-          char const old_value = (*self)[index];
-          self->erase(self->begin() + index);
-          return old_value;
-        } else {
-          throw std::out_of_range("vector index out of range");
-        }
-      }
-SWIGINTERN std::vector< char >::value_type const &std_vector_Sl_char_Sg__doGet(std::vector< char > *self,jint index){
-        jint size = static_cast<jint>(self->size());
-        if (index >= 0 && index < size)
-          return (*self)[index];
-        else
-          throw std::out_of_range("vector index out of range");
-      }
-SWIGINTERN std::vector< char >::value_type std_vector_Sl_char_Sg__doSet(std::vector< char > *self,jint index,std::vector< char >::value_type const &val){
-        jint size = static_cast<jint>(self->size());
-        if (index >= 0 && index < size) {
-          char const old_value = (*self)[index];
-          (*self)[index] = val;
-          return old_value;
-        }
-        else
-          throw std::out_of_range("vector index out of range");
-      }
-SWIGINTERN void std_vector_Sl_char_Sg__doRemoveRange(std::vector< char > *self,jint fromIndex,jint toIndex){
-        jint size = static_cast<jint>(self->size());
-        if (0 <= fromIndex && fromIndex <= toIndex && toIndex <= size) {
-          self->erase(self->begin() + fromIndex, self->begin() + toIndex);
-        } else {
-          throw std::out_of_range("vector index out of range");
-        }
-      }
+SWIGINTERN std::vector< char >::const_reference std_vector_Sl_char_Sg__get(std::vector< char > *self,int i){
+                int size = int(self->size());
+                if (i>=0 && i<size)
+                    return (*self)[i];
+                else
+                    throw std::out_of_range("vector index out of range");
+            }
+SWIGINTERN void std_vector_Sl_char_Sg__set(std::vector< char > *self,int i,std::vector< char >::value_type const &val){
+                int size = int(self->size());
+                if (i>=0 && i<size)
+                    (*self)[i] = val;
+                else
+                    throw std::out_of_range("vector index out of range");
+            }
 
 #ifdef __cplusplus
 extern "C" {
@@ -1010,136 +903,90 @@
 }
 
 
-SWIGEXPORT jlong JNICALL Java_ome_jxrlib_JXRJNI_new_1ImageData_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+SWIGEXPORT jlong JNICALL Java_ome_jxrlib_JXRJNI_new_1ImageData_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1) {
   jlong jresult = 0 ;
-  std::vector< char > *arg1 = 0 ;
+  std::vector< char >::size_type arg1 ;
   std::vector< char > *result = 0 ;
   
   (void)jenv;
   (void)jcls;
-  (void)jarg1_;
-  arg1 = *(std::vector< char > **)&jarg1;
-  if (!arg1) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "std::vector< char > const & is null");
-    return 0;
-  } 
-  result = (std::vector< char > *)new std::vector< char >((std::vector< char > const &)*arg1);
+  arg1 = (std::vector< char >::size_type)jarg1; 
+  result = (std::vector< char > *)new std::vector< char >(arg1);
   *(std::vector< char > **)&jresult = result; 
   return jresult;
 }
 
 
-SWIGEXPORT jboolean JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1isEmpty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jboolean jresult = 0 ;
+SWIGEXPORT jlong JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1size(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jlong jresult = 0 ;
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  bool result;
+  std::vector< char >::size_type result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  result = (bool)((std::vector< char > const *)arg1)->empty();
-  jresult = (jboolean)result; 
+  result = ((std::vector< char > const *)arg1)->size();
+  jresult = (jlong)result; 
   return jresult;
 }
 
 
-SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+SWIGEXPORT jlong JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1capacity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jlong jresult = 0 ;
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
+  std::vector< char >::size_type result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  (arg1)->clear();
-}
-
-
-SWIGEXPORT jlong JNICALL Java_ome_jxrlib_JXRJNI_new_1ImageData_1_1SWIG_12(JNIEnv *jenv, jclass jcls, jint jarg1, jchar jarg2) {
-  jlong jresult = 0 ;
-  jint arg1 ;
-  char *arg2 = 0 ;
-  char temp2 ;
-  std::vector< char > *result = 0 ;
-  
-  (void)jenv;
-  (void)jcls;
-  arg1 = jarg1; 
-  temp2 = (char)jarg2; 
-  arg2 = &temp2; 
-  try {
-    result = (std::vector< char > *)new_std_vector_Sl_char_Sg___SWIG_2(SWIG_STD_MOVE(arg1),(char const &)*arg2);
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return 0;
-  }
-  *(std::vector< char > **)&jresult = result; 
+  result = ((std::vector< char > const *)arg1)->capacity();
+  jresult = (jlong)result; 
   return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doCapacity(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jint jresult = 0 ;
+SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1reserve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2) {
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint result;
+  std::vector< char >::size_type arg2 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  try {
-    result = std_vector_Sl_char_Sg__doCapacity(arg1);
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return 0;
-  }
-  jresult = result; 
-  return jresult;
+  arg2 = (std::vector< char >::size_type)jarg2; 
+  (arg1)->reserve(arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doReserve(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
+SWIGEXPORT jboolean JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1isEmpty(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
+  jboolean jresult = 0 ;
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
+  bool result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
-  try {
-    std_vector_Sl_char_Sg__doReserve(arg1,SWIG_STD_MOVE(arg2));
-  } catch(std::length_error &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return ;
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return ;
-  }
+  result = (bool)((std::vector< char > const *)arg1)->empty();
+  jresult = (jboolean)result; 
+  return jresult;
 }
 
 
-SWIGEXPORT jint JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doSize(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
-  jint jresult = 0 ;
+SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1clear(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_) {
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  try {
-    result = std_vector_Sl_char_Sg__doSize((std::vector< char > const *)arg1);
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return 0;
-  }
-  jresult = result; 
-  return jresult;
+  (arg1)->clear();
 }
 
 
-SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doAdd_1_1SWIG_10(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jchar jarg2) {
+SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1add(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jchar jarg2) {
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
   std::vector< char >::value_type *arg2 = 0 ;
   std::vector< char >::value_type temp2 ;
@@ -1150,119 +997,55 @@
   arg1 = *(std::vector< char > **)&jarg1; 
   temp2 = (std::vector< char >::value_type)jarg2; 
   arg2 = &temp2; 
-  std_vector_Sl_char_Sg__doAdd__SWIG_0(arg1,(char const &)*arg2);
+  (arg1)->push_back((std::vector< char >::value_type const &)*arg2);
 }
 
 
-SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doAdd_1_1SWIG_11(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jchar jarg3) {
-  std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
-  std::vector< char >::value_type *arg3 = 0 ;
-  std::vector< char >::value_type temp3 ;
-  
-  (void)jenv;
-  (void)jcls;
-  (void)jarg1_;
-  arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
-  temp3 = (std::vector< char >::value_type)jarg3; 
-  arg3 = &temp3; 
-  try {
-    std_vector_Sl_char_Sg__doAdd__SWIG_1(arg1,SWIG_STD_MOVE(arg2),(char const &)*arg3);
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return ;
-  }
-}
-
-
-SWIGEXPORT jchar JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doRemove(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
+SWIGEXPORT jchar JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
   jchar jresult = 0 ;
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
-  std::vector< char >::value_type result;
-  
-  (void)jenv;
-  (void)jcls;
-  (void)jarg1_;
-  arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
-  try {
-    result = (std::vector< char >::value_type)std_vector_Sl_char_Sg__doRemove(arg1,SWIG_STD_MOVE(arg2));
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return 0;
-  }
-  jresult = (jchar)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT jchar JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doGet(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2) {
-  jchar jresult = 0 ;
-  std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
+  int arg2 ;
   std::vector< char >::value_type *result = 0 ;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
+  arg2 = (int)jarg2; 
   try {
-    result = (std::vector< char >::value_type *) &std_vector_Sl_char_Sg__doGet(arg1,SWIG_STD_MOVE(arg2));
-  } catch(std::out_of_range &_e) {
+    result = (std::vector< char >::value_type *) &std_vector_Sl_char_Sg__get(arg1,arg2);
+  }
+  catch(std::out_of_range &_e) {
     SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
     return 0;
   }
+  
   jresult = (jchar)*result; 
   return jresult;
 }
 
 
-SWIGEXPORT jchar JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doSet(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jchar jarg3) {
-  jchar jresult = 0 ;
+SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jchar jarg3) {
   std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
+  int arg2 ;
   std::vector< char >::value_type *arg3 = 0 ;
   std::vector< char >::value_type temp3 ;
-  std::vector< char >::value_type result;
   
   (void)jenv;
   (void)jcls;
   (void)jarg1_;
   arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
+  arg2 = (int)jarg2; 
   temp3 = (std::vector< char >::value_type)jarg3; 
   arg3 = &temp3; 
   try {
-    result = (std::vector< char >::value_type)std_vector_Sl_char_Sg__doSet(arg1,SWIG_STD_MOVE(arg2),(char const &)*arg3);
-  } catch(std::out_of_range &_e) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
-    return 0;
+    std_vector_Sl_char_Sg__set(arg1,arg2,(char const &)*arg3);
   }
-  jresult = (jchar)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_ImageData_1doRemoveRange(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jint jarg2, jint jarg3) {
-  std::vector< char > *arg1 = (std::vector< char > *) 0 ;
-  jint arg2 ;
-  jint arg3 ;
-  
-  (void)jenv;
-  (void)jcls;
-  (void)jarg1_;
-  arg1 = *(std::vector< char > **)&jarg1; 
-  arg2 = jarg2; 
-  arg3 = jarg3; 
-  try {
-    std_vector_Sl_char_Sg__doRemoveRange(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3));
-  } catch(std::out_of_range &_e) {
+  catch(std::out_of_range &_e) {
     SWIG_JavaThrowException(jenv, SWIG_JavaIndexOutOfBoundsException, (&_e)->what());
     return ;
   }
+  
 }
 
 
@@ -1362,7 +1145,7 @@
 
 SWIGEXPORT void JNICALL Java_ome_jxrlib_JXRJNI_GUID_1Data4_1set(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jshortArray jarg2) {
   GUID *arg1 = (GUID *) 0 ;
-  unsigned char *arg2 = (unsigned char *) (unsigned char *)0 ;
+  unsigned char *arg2 ;
   jshort *jarr2 ;
   
   (void)jenv;
@@ -1436,7 +1219,7 @@
   if (!arg1_pstr) return 0;
   (&arg1)->assign(arg1_pstr);
   jenv->ReleaseStringUTFChars(jarg1, arg1_pstr); 
-  result = (jxrlib::FormatError *)new jxrlib::FormatError(SWIG_STD_MOVE(arg1));
+  result = (jxrlib::FormatError *)new jxrlib::FormatError(arg1);
   *(jxrlib::FormatError **)&jresult = result; 
   return jresult;
 }
@@ -1479,7 +1262,7 @@
   arg1 = *(jxrlib::CodecFactory **)&jarg1; 
   arg2 = *(jxrlib::ImageDecoder **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & reference is null");
     return ;
   } 
   if(!jarg3) {
@@ -1491,8 +1274,9 @@
   (&arg3)->assign(arg3_pstr);
   jenv->ReleaseStringUTFChars(jarg3, arg3_pstr); 
   try {
-    (arg1)->decoderFromFile(*arg2,SWIG_STD_MOVE(arg3));
-  } catch(jxrlib::FormatError &_e) {
+    (arg1)->decoderFromFile(*arg2,arg3);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1501,6 +1285,7 @@
       return ;
     }
   }
+  
 }
 
 
@@ -1518,7 +1303,7 @@
   arg1 = *(jxrlib::CodecFactory **)&jarg1; 
   arg2 = *(jxrlib::ImageDecoder **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & reference is null");
     return ;
   } 
   {
@@ -1530,8 +1315,9 @@
   arg4 = (size_t)jarg4; 
   arg5 = (size_t)jarg5; 
   try {
-    (arg1)->decoderFromBytes(*arg2,arg3,SWIG_STD_MOVE(arg4),SWIG_STD_MOVE(arg5));
-  } catch(jxrlib::FormatError &_e) {
+    (arg1)->decoderFromBytes(*arg2,arg3,arg4,arg5);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1541,6 +1327,7 @@
     }
   }
   
+  
 }
 
 
@@ -1558,7 +1345,7 @@
   arg1 = *(jxrlib::CodecFactory **)&jarg1; 
   arg2 = *(jxrlib::ImageDecoder **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & reference is null");
     return 0;
   } 
   if(!jarg3) {
@@ -1570,8 +1357,9 @@
   (&arg3)->assign(arg3_pstr);
   jenv->ReleaseStringUTFChars(jarg3, arg3_pstr); 
   try {
-    result = (arg1)->createFormatConverter(*arg2,SWIG_STD_MOVE(arg3));
-  } catch(jxrlib::FormatError &_e) {
+    result = (arg1)->createFormatConverter(*arg2,arg3);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1580,7 +1368,8 @@
       return 0;
     }
   }
-  *(jxrlib::FormatConverter **)&jresult = new jxrlib::FormatConverter(result); 
+  
+  *(jxrlib::FormatConverter **)&jresult = new jxrlib::FormatConverter((const jxrlib::FormatConverter &)result); 
   return jresult;
 }
 
@@ -1615,7 +1404,8 @@
   (void)jcls;
   try {
     result = (jxrlib::Factory *)new jxrlib::Factory();
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1624,6 +1414,7 @@
       return 0;
     }
   }
+  
   *(jxrlib::Factory **)&jresult = result; 
   return jresult;
 }
@@ -1648,8 +1439,9 @@
   (&arg2)->assign(arg2_pstr);
   jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
   try {
-    result = (arg1)->createStreamFromFilename(SWIG_STD_MOVE(arg2));
-  } catch(jxrlib::FormatError &_e) {
+    result = (arg1)->createStreamFromFilename(arg2);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1658,7 +1450,8 @@
       return 0;
     }
   }
-  *(jxrlib::Stream **)&jresult = new jxrlib::Stream(result); 
+  
+  *(jxrlib::Stream **)&jresult = new jxrlib::Stream((const jxrlib::Stream &)result); 
   return jresult;
 }
 
@@ -1704,7 +1497,8 @@
   arg1 = *(jxrlib::ImageDecoder **)&jarg1; 
   try {
     (arg1)->initialize();
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1713,6 +1507,7 @@
       return ;
     }
   }
+  
 }
 
 
@@ -1727,7 +1522,8 @@
   arg1 = *(jxrlib::ImageDecoder **)&jarg1; 
   try {
     result = (unsigned int)(arg1)->getFrameCount();
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1736,6 +1532,7 @@
       return 0;
     }
   }
+  
   jresult = (jlong)result; 
   return jresult;
 }
@@ -1752,7 +1549,8 @@
   arg2 = (unsigned int)jarg2; 
   try {
     (arg1)->selectFrame(arg2);
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1761,6 +1559,7 @@
       return ;
     }
   }
+  
 }
 
 
@@ -1774,7 +1573,7 @@
   (void)jarg1_;
   arg1 = *(jxrlib::ImageDecoder **)&jarg1; 
   result = (arg1)->getGUIDPixFormat();
-  *(GUID **)&jresult = new GUID(result); 
+  *(GUID **)&jresult = new GUID((const GUID &)result); 
   return jresult;
 }
 
@@ -1865,7 +1664,8 @@
   arg1 = *(jxrlib::ImageDecoder **)&jarg1; 
   try {
     result = (arg1)->getResolution();
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1874,7 +1674,8 @@
       return 0;
     }
   }
-  *(jxrlib::Resolution **)&jresult = new jxrlib::Resolution(result); 
+  
+  *(jxrlib::Resolution **)&jresult = new jxrlib::Resolution((const jxrlib::Resolution &)result); 
   return jresult;
 }
 
@@ -1895,7 +1696,8 @@
   }
   try {
     (arg1)->getRawBytes(arg2);
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1905,6 +1707,7 @@
     }
   }
   
+  
 }
 
 
@@ -1955,8 +1758,9 @@
   (&arg2)->assign(arg2_pstr);
   jenv->ReleaseStringUTFChars(jarg2, arg2_pstr); 
   try {
-    result = (jxrlib::ImageEncoder *)new jxrlib::ImageEncoder(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2));
-  } catch(jxrlib::FormatError &_e) {
+    result = (jxrlib::ImageEncoder *)new jxrlib::ImageEncoder(arg1,arg2);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1965,6 +1769,7 @@
       return 0;
     }
   }
+  
   *(jxrlib::ImageEncoder **)&jresult = result; 
   return jresult;
 }
@@ -1981,12 +1786,13 @@
   arg1 = *(jxrlib::ImageEncoder **)&jarg1; 
   arg2 = *(jxrlib::ImageDecoder **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::ImageDecoder & reference is null");
     return ;
   } 
   try {
     (arg1)->initializeWithDecoder(*arg2);
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -1995,6 +1801,7 @@
       return ;
     }
   }
+  
 }
 
 
@@ -2009,12 +1816,13 @@
   arg1 = *(jxrlib::ImageEncoder **)&jarg1; 
   arg2 = *(jxrlib::FormatConverter **)&jarg2;
   if (!arg2) {
-    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::FormatConverter & is null");
+    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "jxrlib::FormatConverter & reference is null");
     return ;
   } 
   try {
     (arg1)->writeSource(*arg2);
-  } catch(jxrlib::FormatError &_e) {
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -2023,6 +1831,7 @@
       return ;
     }
   }
+  
 }
 
 
@@ -2112,8 +1921,9 @@
   arg3 = (size_t)jarg3; 
   arg4 = (size_t)jarg4; 
   try {
-    result = (signed char *)(arg1)->decodeFirstFrame(arg2,SWIG_STD_MOVE(arg3),SWIG_STD_MOVE(arg4),arg5);
-  } catch(jxrlib::FormatError &_e) {
+    result = (signed char *)(arg1)->decodeFirstFrame(arg2,arg3,arg4,arg5);
+  }
+  catch(jxrlib::FormatError &_e) {
     {
       jclass exception = jenv->FindClass("ome/jxrlib/FormatError");
       if (exception) {
@@ -2122,6 +1932,7 @@
       return 0;
     }
   }
+  
   {
     jresult = jenv->NewByteArray(temp_size);
     if (!jresult) return 0;
