code: public DevicePipe writeReadPipe(DeviceProxy deviceProxy, DevicePipe devicePipe) throws DevFailed {
          //  ToDo
          build_connection(deviceProxy);
          if (deviceProxy.idl_version<5)
              Except.throw_exception("TangoApi_NOT_SUPPORTED",
                      "Pipe not supported in IDL " + deviceProxy.idl_version);
          boolean done = false;
          final int retries = deviceProxy.transparent_reconnection ? 2 : 1;
          for (int tr = 0 ; tr<retries && !done ; tr++) {
              try {
                  DevPipeData writePipeData = devicePipe.getDevPipeDataObject();
                  DevPipeData readPipeData = deviceProxy.device_5.write_read_pipe_5(
                          writePipeData, DevLockManager.getInstance().getClntIdent());
                  done = true;
                  return new DevicePipe(readPipeData);
              } catch (final DevFailed e) {
                  throw e;
              } catch (final Exception e) {
                  manageExceptionReconnection(deviceProxy, retries, tr, e,
                          this.getClass() + ".DeviceProxy.writePipe");
              }
          }
          return null;    //  cannot occur
      }
docs: ===================================================================