public void createSignal(long[] dims, java.util.Map<String, String> __ctx)
     throws IceInternal.LocalExceptionWrapper {
   IceInternal.Outgoing __og =
       __handler.getOutgoing("createSignal", Ice.OperationMode.Idempotent, __ctx);
   try {
     try {
       IceInternal.BasicStream __os = __og.os();
       DimensionListHelper.write(__os, dims);
     } catch (Ice.LocalException __ex) {
       __og.abort(__ex);
     }
     boolean __ok = __og.invoke();
     if (!__og.is().isEmpty()) {
       try {
         if (!__ok) {
           try {
             __og.throwUserException();
           } catch (Ice.UserException __ex) {
             throw new Ice.UnknownUserException(__ex.ice_name());
           }
         }
         __og.is().skipEmptyEncaps();
       } catch (Ice.LocalException __ex) {
         throw new IceInternal.LocalExceptionWrapper(__ex, false);
       }
     }
   } finally {
     __handler.reclaimOutgoing(__og);
   }
 }
 public long[] getSignalSize(java.util.Map<String, String> __ctx)
     throws IceInternal.LocalExceptionWrapper {
   IceInternal.Outgoing __og =
       __handler.getOutgoing("getSignalSize", Ice.OperationMode.Idempotent, __ctx);
   try {
     boolean __ok = __og.invoke();
     try {
       if (!__ok) {
         try {
           __og.throwUserException();
         } catch (Ice.UserException __ex) {
           throw new Ice.UnknownUserException(__ex.ice_name());
         }
       }
       IceInternal.BasicStream __is = __og.is();
       __is.startReadEncaps();
       long[] __ret;
       __ret = DimensionListHelper.read(__is);
       __is.endReadEncaps();
       return __ret;
     } catch (Ice.LocalException __ex) {
       throw new IceInternal.LocalExceptionWrapper(__ex, false);
     }
   } finally {
     __handler.reclaimOutgoing(__og);
   }
 }