From 652d33891e6bd722a5c4bee4c528fdcc69f7133f Mon Sep 17 00:00:00 2001
From: Raphael Grimm <raphael.grimm@kit.edu>
Date: Wed, 6 Mar 2019 16:53:20 +0100
Subject: [PATCH] Use Ice::emptyCurrent instead of Ice::Current() or
 GlobalIceCurrent

---
 .../DebugDrawer/DebugDrawerComponent.h        | 198 +++++++++---------
 .../KITProstheticHandUnit.h                   |   4 +-
 .../RobotState/RobotStateComponent.h          |  14 +-
 .../RobotState/SharedRobotServants.h          |  74 +++----
 .../components/ViewSelection/ViewSelection.h  |  22 +-
 .../components/units/ForceTorqueObserver.cpp  |   4 +-
 .../units/ForceTorqueUnitSimulation.h         |   4 +-
 source/RobotAPI/components/units/HandUnit.h   |  10 +-
 .../components/units/HandUnitSimulation.h     |   4 +-
 .../components/units/HapticObserver.h         |   2 +-
 source/RobotAPI/components/units/HeadIKUnit.h |  16 +-
 .../units/InertialMeasurementUnitObserver.h   |   2 +-
 .../RobotAPI/components/units/KinematicUnit.h |  20 +-
 .../components/units/KinematicUnitObserver.h  |  14 +-
 .../units/KinematicUnitSimulation.h           |  20 +-
 .../components/units/OptoForceUnitObserver.h  |   2 +-
 .../RobotAPI/components/units/PlatformUnit.h  |   4 +-
 .../components/units/PlatformUnitObserver.cpp |   2 +-
 .../components/units/PlatformUnitObserver.h   |   6 +-
 .../components/units/PlatformUnitSimulation.h |  10 +-
 .../RobotAPI/components/units/RobotPoseUnit.h |   4 +-
 ...JointCartesianVelocityControllerWithRamp.h |   2 +-
 .../NJointControllers/NJointController.h      |  42 ++--
 .../NJointControllers/NJointController.ipp    |   2 +-
 ...onomicPlatformRelativePositionController.h |   2 +-
 ...latformUnitVelocityPassThroughController.h |   2 +-
 ...NJointKinematicUnitPassThroughController.h |   2 +-
 .../RobotUnitModuleControlThread.h            |   6 +-
 .../RobotUnitModuleControllerManagement.cpp   |   2 +-
 .../RobotUnitModuleControllerManagement.h     |  52 ++---
 .../RobotUnitModules/RobotUnitModuleDevices.h |  20 +-
 .../RobotUnitModuleLogging.cpp                |   2 +-
 .../RobotUnitModules/RobotUnitModuleLogging.h |  12 +-
 .../RobotUnitModuleManagement.h               |   2 +-
 .../RobotUnitModulePublisher.h                |  12 +-
 .../RobotUnitModuleSelfCollisionChecker.h     |  10 +-
 .../RobotUnitModules/RobotUnitModuleUnits.cpp |   4 +-
 .../RobotUnitModules/RobotUnitModuleUnits.ipp |   2 +-
 .../RobotUnit/Units/ForceTorqueSubUnit.h      |   4 +-
 .../units/RobotUnit/Units/PlatformSubUnit.h   |  14 +-
 .../RobotUnit/Units/TCPControllerSubUnit.cpp  |   2 +-
 .../RobotUnit/Units/TCPControllerSubUnit.h    |   6 +-
 .../Units/TrajectoryControllerSubUnit.h       |  32 +--
 .../components/units/SensorActorUnit.h        |  12 +-
 .../components/units/SpeechObserver.h         |  12 +-
 .../components/units/TCPControlUnit.h         |  18 +-
 .../components/units/TCPControlUnitObserver.h |   4 +-
 .../relays/ForceTorqueUnitListenerRelay.h     |   2 +-
 .../InertialMeasurementUnitListenerRelay.h    |   2 +-
 .../units/relays/KinematicUnitListenerRelay.h |  16 +-
 .../units/relays/RobotStateListenerRelay.h    |   4 +-
 .../PlatformUnitGuiPlugin.h                   |   6 +-
 .../ViewSelectionWidgetController.h           |   6 +-
 .../libraries/core/FramedOrientedPoint.h      |  12 +-
 source/RobotAPI/libraries/core/FramedPose.h   |  48 ++---
 source/RobotAPI/libraries/core/LinkedPose.h   |  28 +--
 .../RobotAPI/libraries/core/OrientedPoint.h   |  12 +-
 source/RobotAPI/libraries/core/Pose.h         |  48 ++---
 source/RobotAPI/libraries/core/Trajectory.h   |  12 +-
 .../core/observerfilters/OffsetFilter.h       |   2 +-
 .../statecharts/operations/RobotControl.h     |   2 +-
 61 files changed, 458 insertions(+), 458 deletions(-)

diff --git a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
index 6ed54f045..dd9290c10 100644
--- a/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
+++ b/source/RobotAPI/components/DebugDrawer/DebugDrawerComponent.h
@@ -143,81 +143,81 @@ namespace armarx
         }
 
         /* Inherited from DebugDrawerInterface. */
-        void exportScene(const std::string& filename, const ::Ice::Current& = ::Ice::Current()) override;
-        void exportLayer(const std::string& filename, const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setPoseVisu(const std::string& layerName, const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = ::Ice::Current()) override;
-        void setScaledPoseVisu(const std::string& layerName, const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Float scale, const ::Ice::Current& = ::Ice::Current()) override;
-        void setPoseDebugLayerVisu(const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = ::Ice::Current()) override;
-        void setScaledPoseDebugLayerVisu(const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Float scale, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePoseVisu(const std::string& layerName, const std::string& poseName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePoseDebugLayerVisu(const std::string& poseName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setLineVisu(const std::string& layerName, const std::string& lineName, const ::armarx::Vector3BasePtr& globalPosition1, const ::armarx::Vector3BasePtr& globalPosition2, float lineWidth, const ::armarx::DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void setLineDebugLayerVisu(const std::string& lineName, const ::armarx::Vector3BasePtr& globalPosition1, const ::armarx::Vector3BasePtr& globalPosition2, float lineWidth, const ::armarx::DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeLineVisu(const std::string& layerName, const std::string& lineName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeLineDebugLayerVisu(const std::string& lineName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setLineSetVisu(const std::string& layerName, const std::string& lineSetName, const DebugDrawerLineSet& lineSet, const ::Ice::Current& = ::Ice::Current()) override;
-        void setLineSetDebugLayerVisu(const std::string& lineSetName, const DebugDrawerLineSet& lineSet, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeLineSetVisu(const std::string& layerName, const std::string& lineSetName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeLineSetDebugLayerVisu(const std::string& lineSetName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setBoxVisu(const std::string& layerName, const std::string& boxName, const ::armarx::PoseBasePtr& globalPose, const ::armarx::Vector3BasePtr& dimensions, const DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void setBoxDebugLayerVisu(const std::string& boxName, const ::armarx::PoseBasePtr& globalPose, const ::armarx::Vector3BasePtr& dimensions, const DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeBoxVisu(const std::string& layerName, const std::string& boxName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeBoxDebugLayerVisu(const std::string& boxName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setTextVisu(const std::string& layerName, const std::string& textName, const std::string& text, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, int size, const ::Ice::Current& = ::Ice::Current()) override;
-        void setTextDebugLayerVisu(const std::string& textName, const std::string& text, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, int size, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeTextVisu(const std::string& layerName, const std::string& textName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeTextDebugLayerVisu(const std::string& textName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setSphereVisu(const std::string& layerName, const std::string& sphereName, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, float radius, const ::Ice::Current& = ::Ice::Current()) override;
-        void setSphereDebugLayerVisu(const std::string& sphereName, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, float radius, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeSphereVisu(const std::string& layerName, const std::string& sphereName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeSphereDebugLayerVisu(const std::string& sphereName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setCylinderVisu(const std::string& layerName, const std::string& cylinderName, const ::armarx::Vector3BasePtr& globalPosition, const ::armarx::Vector3BasePtr& direction, float length, float radius, const DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void setCylinderDebugLayerVisu(const std::string& cylinderName, const ::armarx::Vector3BasePtr& globalPosition, const ::armarx::Vector3BasePtr& direction, float length, float radius, const DrawColor& color, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeCylinderVisu(const std::string& layerName, const std::string& cylinderName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeCylinderDebugLayerVisu(const std::string& cylinderName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawerPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current()) override;
-        void setPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawerPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        virtual void setColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawerColoredPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current());
-        void setColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawerColoredPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void set24BitColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawer24BitColoredPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current()) override;
-        void set24BitColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawer24BitColoredPointCloud& pointCloud, const ::Ice::Current& = ::Ice::Current()) override;
-        void remove24BitColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-        void remove24BitColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = ::Ice::Current()) override;
-
-
-        void setPolygonVisu(const std::string& layerName, const std::string& polygonName, const std::vector< ::armarx::Vector3BasePtr >& polygonPoints, const DrawColor& colorInner, const DrawColor& colorBorder, float lineWidth, const ::Ice::Current& = ::Ice::Current()) override;
-        void setPolygonDebugLayerVisu(const std::string& polygonName, const std::vector< ::armarx::Vector3BasePtr >& polygonPoints, const DrawColor& colorInner, const DrawColor& colorBorder, float lineWidth, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePolygonVisu(const std::string& layerName, const std::string& polygonName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removePolygonDebugLayerVisu(const std::string& polygonName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setTriMeshVisu(const std::string& layerName, const std::string& triMeshName, const DebugDrawerTriMesh& triMesh, const ::Ice::Current& = ::Ice::Current()) override;
-        void setTriMeshDebugLayerVisu(const std::string& triMeshName, const DebugDrawerTriMesh& triMesh, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeTriMeshVisu(const std::string& layerName, const std::string& triMeshName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeTriMeshDebugLayerVisu(const std::string& triMeshName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setArrowVisu(const std::string& layerName, const std::string& arrowName, const ::armarx::Vector3BasePtr& position, const ::armarx::Vector3BasePtr& direction, const DrawColor& color, float length, float width, const ::Ice::Current& = ::Ice::Current()) override;
-        void setArrowDebugLayerVisu(const std::string& arrowName, const ::armarx::Vector3BasePtr& position, const ::armarx::Vector3BasePtr& direction, const DrawColor& color, float length, float width, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeArrowVisu(const std::string& layerName, const std::string& arrowName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeArrowDebugLayerVisu(const std::string& arrowName, const ::Ice::Current& = ::Ice::Current()) override;
-
-        void setCircleArrowVisu(const std::string& layerName, const std::string& circleName, const Vector3BasePtr& globalPosition, const Vector3BasePtr& directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor& color, const Ice::Current&  = ::Ice::Current()) override;
-        void setCircleDebugLayerVisu(const std::string& circleName, const Vector3BasePtr& globalPosition, const Vector3BasePtr& directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor& color, const Ice::Current& = ::Ice::Current()) override;
-        void removeCircleVisu(const std::string& layerName, const std::string& circleName, const Ice::Current& = ::Ice::Current()) override;
-        void removeCircleDebugLayerVisu(const std::string& circleName, const Ice::Current& = ::Ice::Current()) override;
+        void exportScene(const std::string& filename, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void exportLayer(const std::string& filename, const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setPoseVisu(const std::string& layerName, const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setScaledPoseVisu(const std::string& layerName, const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Float scale, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setPoseDebugLayerVisu(const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setScaledPoseDebugLayerVisu(const std::string& poseName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Float scale, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePoseVisu(const std::string& layerName, const std::string& poseName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePoseDebugLayerVisu(const std::string& poseName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setLineVisu(const std::string& layerName, const std::string& lineName, const ::armarx::Vector3BasePtr& globalPosition1, const ::armarx::Vector3BasePtr& globalPosition2, float lineWidth, const ::armarx::DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setLineDebugLayerVisu(const std::string& lineName, const ::armarx::Vector3BasePtr& globalPosition1, const ::armarx::Vector3BasePtr& globalPosition2, float lineWidth, const ::armarx::DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeLineVisu(const std::string& layerName, const std::string& lineName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeLineDebugLayerVisu(const std::string& lineName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setLineSetVisu(const std::string& layerName, const std::string& lineSetName, const DebugDrawerLineSet& lineSet, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setLineSetDebugLayerVisu(const std::string& lineSetName, const DebugDrawerLineSet& lineSet, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeLineSetVisu(const std::string& layerName, const std::string& lineSetName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeLineSetDebugLayerVisu(const std::string& lineSetName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setBoxVisu(const std::string& layerName, const std::string& boxName, const ::armarx::PoseBasePtr& globalPose, const ::armarx::Vector3BasePtr& dimensions, const DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setBoxDebugLayerVisu(const std::string& boxName, const ::armarx::PoseBasePtr& globalPose, const ::armarx::Vector3BasePtr& dimensions, const DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeBoxVisu(const std::string& layerName, const std::string& boxName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeBoxDebugLayerVisu(const std::string& boxName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setTextVisu(const std::string& layerName, const std::string& textName, const std::string& text, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, int size, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setTextDebugLayerVisu(const std::string& textName, const std::string& text, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, int size, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeTextVisu(const std::string& layerName, const std::string& textName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeTextDebugLayerVisu(const std::string& textName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setSphereVisu(const std::string& layerName, const std::string& sphereName, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, float radius, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setSphereDebugLayerVisu(const std::string& sphereName, const ::armarx::Vector3BasePtr& globalPosition, const DrawColor& color, float radius, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeSphereVisu(const std::string& layerName, const std::string& sphereName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeSphereDebugLayerVisu(const std::string& sphereName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setCylinderVisu(const std::string& layerName, const std::string& cylinderName, const ::armarx::Vector3BasePtr& globalPosition, const ::armarx::Vector3BasePtr& direction, float length, float radius, const DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setCylinderDebugLayerVisu(const std::string& cylinderName, const ::armarx::Vector3BasePtr& globalPosition, const ::armarx::Vector3BasePtr& direction, float length, float radius, const DrawColor& color, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeCylinderVisu(const std::string& layerName, const std::string& cylinderName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeCylinderDebugLayerVisu(const std::string& cylinderName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawerPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawerPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        virtual void setColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawerColoredPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent);
+        void setColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawerColoredPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void set24BitColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const DebugDrawer24BitColoredPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void set24BitColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const DebugDrawer24BitColoredPointCloud& pointCloud, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void remove24BitColoredPointCloudVisu(const std::string& layerName, const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void remove24BitColoredPointCloudDebugLayerVisu(const std::string& pointCloudName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+
+        void setPolygonVisu(const std::string& layerName, const std::string& polygonName, const std::vector< ::armarx::Vector3BasePtr >& polygonPoints, const DrawColor& colorInner, const DrawColor& colorBorder, float lineWidth, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setPolygonDebugLayerVisu(const std::string& polygonName, const std::vector< ::armarx::Vector3BasePtr >& polygonPoints, const DrawColor& colorInner, const DrawColor& colorBorder, float lineWidth, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePolygonVisu(const std::string& layerName, const std::string& polygonName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removePolygonDebugLayerVisu(const std::string& polygonName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setTriMeshVisu(const std::string& layerName, const std::string& triMeshName, const DebugDrawerTriMesh& triMesh, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setTriMeshDebugLayerVisu(const std::string& triMeshName, const DebugDrawerTriMesh& triMesh, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeTriMeshVisu(const std::string& layerName, const std::string& triMeshName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeTriMeshDebugLayerVisu(const std::string& triMeshName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setArrowVisu(const std::string& layerName, const std::string& arrowName, const ::armarx::Vector3BasePtr& position, const ::armarx::Vector3BasePtr& direction, const DrawColor& color, float length, float width, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void setArrowDebugLayerVisu(const std::string& arrowName, const ::armarx::Vector3BasePtr& position, const ::armarx::Vector3BasePtr& direction, const DrawColor& color, float length, float width, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeArrowVisu(const std::string& layerName, const std::string& arrowName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeArrowDebugLayerVisu(const std::string& arrowName, const ::Ice::Current& = Ice::emptyCurrent) override;
+
+        void setCircleArrowVisu(const std::string& layerName, const std::string& circleName, const Vector3BasePtr& globalPosition, const Vector3BasePtr& directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor& color, const Ice::Current&  = Ice::emptyCurrent) override;
+        void setCircleDebugLayerVisu(const std::string& circleName, const Vector3BasePtr& globalPosition, const Vector3BasePtr& directionVec, Ice::Float radius, Ice::Float circleCompletion, Ice::Float width, const DrawColor& color, const Ice::Current& = Ice::emptyCurrent) override;
+        void removeCircleVisu(const std::string& layerName, const std::string& circleName, const Ice::Current& = Ice::emptyCurrent) override;
+        void removeCircleDebugLayerVisu(const std::string& circleName, const Ice::Current& = Ice::emptyCurrent) override;
 
 
         /*!
@@ -228,50 +228,50 @@ namespace armarx
          * \param DrawStyle Either FullModel ior CollisionModel.
          * \param armarxProject Additional armarx project that should be used to search the robot. Must be locally available and accessible through the armarx cmake search procedure.
          */
-        void setRobotVisu(const std::string& layerName, const std::string& robotName, const std::string& robotFile, const std::string& armarxProject, DrawStyle drawStyle, const ::Ice::Current& = ::Ice::Current()) override;
-        void updateRobotPose(const std::string& layerName, const std::string& robotName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = ::Ice::Current()) override;
-        void updateRobotConfig(const std::string& layerName, const std::string& robotName, const std::map< std::string, float>& configuration, const ::Ice::Current& = ::Ice::Current()) override;
+        void setRobotVisu(const std::string& layerName, const std::string& robotName, const std::string& robotFile, const std::string& armarxProject, DrawStyle drawStyle, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void updateRobotPose(const std::string& layerName, const std::string& robotName, const ::armarx::PoseBasePtr& globalPose, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void updateRobotConfig(const std::string& layerName, const std::string& robotName, const std::map< std::string, float>& configuration, const ::Ice::Current& = Ice::emptyCurrent) override;
         /*!
          * \brief updateRobotColor Colorizes the robot visualization
          * \param layerName The layer
          * \param robotName The robot identifyer
          * \param c The draw color, if all is set to 0, the colorization is disabled (i.e. the original vizaulization shows up)
          */
-        void updateRobotColor(const std::string& layerName, const std::string& robotName, const armarx::DrawColor& c, const ::Ice::Current& = ::Ice::Current()) override;
-        void updateRobotNodeColor(const std::string& layerName, const std::string& robotName, const std::string& robotNodeName, const armarx::DrawColor& c, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeRobotVisu(const std::string& layerName, const std::string& robotName, const ::Ice::Current& = ::Ice::Current()) override;
+        void updateRobotColor(const std::string& layerName, const std::string& robotName, const armarx::DrawColor& c, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void updateRobotNodeColor(const std::string& layerName, const std::string& robotName, const std::string& robotNodeName, const armarx::DrawColor& c, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeRobotVisu(const std::string& layerName, const std::string& robotName, const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        void clearAll(const ::Ice::Current& = ::Ice::Current()) override;
-        void clearLayer(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-        void clearDebugLayer(const ::Ice::Current& = ::Ice::Current()) override;
+        void clearAll(const ::Ice::Current& = Ice::emptyCurrent) override;
+        void clearLayer(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void clearDebugLayer(const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        bool hasLayer(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-        void removeLayer(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
+        bool hasLayer(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void removeLayer(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        void enableLayerVisu(const std::string& layerName, bool visible, const ::Ice::Current& = ::Ice::Current()) override;
-        void enableDebugLayerVisu(bool visible, const ::Ice::Current& = ::Ice::Current()) override;
+        void enableLayerVisu(const std::string& layerName, bool visible, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void enableDebugLayerVisu(bool visible, const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        ::Ice::StringSeq layerNames(const ::Ice::Current& = ::Ice::Current()) override;
-        ::armarx::LayerInformationSequence layerInformation(const ::Ice::Current& = ::Ice::Current()) override;
+        ::Ice::StringSeq layerNames(const ::Ice::Current& = Ice::emptyCurrent) override;
+        ::armarx::LayerInformationSequence layerInformation(const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        void disableAllLayers(const ::Ice::Current& = ::Ice::Current()) override;
-        void enableAllLayers(const ::Ice::Current& = ::Ice::Current()) override;
+        void disableAllLayers(const ::Ice::Current& = Ice::emptyCurrent) override;
+        void enableAllLayers(const ::Ice::Current& = Ice::emptyCurrent) override;
 
         // Methods for selection management
-        void enableSelections(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-        void disableSelections(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-        void clearSelections(const std::string& layerName, const ::Ice::Current& = ::Ice::Current()) override;
-        void select(const std::string&  layerName, const std::string& elementName, const ::Ice::Current& = ::Ice::Current()) override;
-        void deselect(const std::string&  layerName, const std::string&  elementName, const ::Ice::Current& = ::Ice::Current()) override;
+        void enableSelections(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void disableSelections(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void clearSelections(const std::string& layerName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void select(const std::string&  layerName, const std::string& elementName, const ::Ice::Current& = Ice::emptyCurrent) override;
+        void deselect(const std::string&  layerName, const std::string&  elementName, const ::Ice::Current& = Ice::emptyCurrent) override;
 
-        DebugDrawerSelectionList getSelections(const ::Ice::Current& = ::Ice::Current()) override;
+        DebugDrawerSelectionList getSelections(const ::Ice::Current& = Ice::emptyCurrent) override;
 
         void selectionCallback();
         void deselectionCallback();
         void installSelectionCallbacks();
         void removeSelectionCallbacks();
 
-        void reportSelectionChanged(const DebugDrawerSelectionList& selectedElements, const ::Ice::Current& = ::Ice::Current()) override;
+        void reportSelectionChanged(const DebugDrawerSelectionList& selectedElements, const ::Ice::Current& = Ice::emptyCurrent) override;
 
         /*!
          * \brief getScopedLock If using the coin visualization it must be ensured that all rendering calls are protected with this mutex
diff --git a/source/RobotAPI/components/KITProstheticHandUnit/KITProstheticHandUnit.h b/source/RobotAPI/components/KITProstheticHandUnit/KITProstheticHandUnit.h
index f4e13d0cc..1cba8b8eb 100644
--- a/source/RobotAPI/components/KITProstheticHandUnit/KITProstheticHandUnit.h
+++ b/source/RobotAPI/components/KITProstheticHandUnit/KITProstheticHandUnit.h
@@ -77,14 +77,14 @@ namespace armarx
         void onInitHandUnit() override;
         void onStartHandUnit() override;
         void onExitHandUnit() override;
-        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& = GlobalIceCurrent) override;
+        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& = Ice::emptyCurrent) override;
         NameValueMap getCurrentJointValues(const Ice::Current&) override;
 
         void addShape(const std::string& name, const std::map<std::string, float>& shape);
         void addShapeName(const std::string& name);
 
 
-        void setShape(const std::string& shapeName, const Ice::Current& c = GlobalIceCurrent) override;
+        void setShape(const std::string& shapeName, const Ice::Current& c = Ice::emptyCurrent) override;
 
     protected:
 
diff --git a/source/RobotAPI/components/RobotState/RobotStateComponent.h b/source/RobotAPI/components/RobotState/RobotStateComponent.h
index 817743c6d..10f5224dc 100644
--- a/source/RobotAPI/components/RobotState/RobotStateComponent.h
+++ b/source/RobotAPI/components/RobotState/RobotStateComponent.h
@@ -164,14 +164,14 @@ namespace armarx
         ~RobotStateComponent() override;
 
         // inherited from KinematicUnitInterface
-        void reportControlModeChanged(const NameControlModeMap& jointModes, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointAngles(const NameValueMap& jointAngles, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointVelocities(const NameValueMap& jointVelocities, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointTorques(const NameValueMap& jointTorques, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
+        void reportControlModeChanged(const NameControlModeMap& jointModes, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointAngles(const NameValueMap& jointAngles, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointVelocities(const NameValueMap& jointVelocities, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointTorques(const NameValueMap& jointTorques, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
         void reportJointAccelerations(const NameValueMap& jointAccelerations, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c) override;
-        void reportJointCurrents(const NameValueMap& jointCurrents, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointMotorTemperatures(const NameValueMap& jointMotorTemperatures, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointStatuses(const NameStatusMap& jointStatuses, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
+        void reportJointCurrents(const NameValueMap& jointCurrents, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointMotorTemperatures(const NameValueMap& jointMotorTemperatures, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointStatuses(const NameStatusMap& jointStatuses, Ice::Long timestamp,  bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
 
     private:
         void readRobotInfo(const std::string& robotFile);
diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.h b/source/RobotAPI/components/RobotState/SharedRobotServants.h
index 9d4d60cf2..922588ddb 100644
--- a/source/RobotAPI/components/RobotState/SharedRobotServants.h
+++ b/source/RobotAPI/components/RobotState/SharedRobotServants.h
@@ -53,9 +53,9 @@ namespace armarx
         virtual public SharedObjectInterface
     {
     public:
-        void ref(const Ice::Current& c = Ice::Current()) override;
-        void unref(const Ice::Current& c = Ice::Current()) override;
-        void destroy(const Ice::Current& c = Ice::Current()) override;
+        void ref(const Ice::Current& c = Ice::emptyCurrent) override;
+        void unref(const Ice::Current& c = Ice::emptyCurrent) override;
+        void destroy(const Ice::Current& c = Ice::emptyCurrent) override;
         SharedObjectBase();
     private:
         unsigned int _referenceCount;
@@ -74,32 +74,32 @@ namespace armarx
         public SharedObjectBase
     {
     public:
-        SharedRobotNodeServant(VirtualRobot::RobotNodePtr node /*,const Ice::Current & current = Ice::Current()*/);
+        SharedRobotNodeServant(VirtualRobot::RobotNodePtr node /*,const Ice::Current & current = Ice::emptyCurrent*/);
         ~SharedRobotNodeServant() override;
 
-        float getJointValue(const Ice::Current& current = Ice::Current()) const override;
-        std::string getName(const Ice::Current& current = Ice::Current()) const override;
+        float getJointValue(const Ice::Current& current = Ice::emptyCurrent) const override;
+        std::string getName(const Ice::Current& current = Ice::emptyCurrent) const override;
 
-        PoseBasePtr getLocalTransformation(const Ice::Current& current = Ice::Current()) const override;
-        FramedPoseBasePtr getGlobalPose(const Ice::Current& current = Ice::Current()) const override;
-        FramedPoseBasePtr getPoseInRootFrame(const Ice::Current& current = Ice::Current()) const override;
+        PoseBasePtr getLocalTransformation(const Ice::Current& current = Ice::emptyCurrent) const override;
+        FramedPoseBasePtr getGlobalPose(const Ice::Current& current = Ice::emptyCurrent) const override;
+        FramedPoseBasePtr getPoseInRootFrame(const Ice::Current& current = Ice::emptyCurrent) const override;
 
-        JointType getType(const Ice::Current& current = Ice::Current()) const override;
-        Vector3BasePtr getJointTranslationDirection(const Ice::Current& current = Ice::Current()) const override;
-        Vector3BasePtr getJointRotationAxis(const Ice::Current& current = Ice::Current()) const override;
+        JointType getType(const Ice::Current& current = Ice::emptyCurrent) const override;
+        Vector3BasePtr getJointTranslationDirection(const Ice::Current& current = Ice::emptyCurrent) const override;
+        Vector3BasePtr getJointRotationAxis(const Ice::Current& current = Ice::emptyCurrent) const override;
 
-        bool hasChild(const std::string& name, bool recursive, const Ice::Current& current = Ice::Current()) const override;
-        std::string getParent(const Ice::Current& current = Ice::Current()) const override;
-        NameList getChildren(const Ice::Current& current = Ice::Current()) const override;
-        NameList getAllParents(const std::string& name, const Ice::Current& current = Ice::Current()) const override;
+        bool hasChild(const std::string& name, bool recursive, const Ice::Current& current = Ice::emptyCurrent) const override;
+        std::string getParent(const Ice::Current& current = Ice::emptyCurrent) const override;
+        NameList getChildren(const Ice::Current& current = Ice::emptyCurrent) const override;
+        NameList getAllParents(const std::string& name, const Ice::Current& current = Ice::emptyCurrent) const override;
 
-        float getJointValueOffest(const Ice::Current& current = Ice::Current()) const override;
-        float getJointLimitHigh(const Ice::Current& current = Ice::Current()) const override;
-        float getJointLimitLow(const Ice::Current& current = Ice::Current()) const override;
+        float getJointValueOffest(const Ice::Current& current = Ice::emptyCurrent) const override;
+        float getJointLimitHigh(const Ice::Current& current = Ice::emptyCurrent) const override;
+        float getJointLimitLow(const Ice::Current& current = Ice::emptyCurrent) const override;
 
-        Vector3BasePtr getCoM(const Ice::Current& current = Ice::Current()) const override;
-        Ice::FloatSeq getInertia(const Ice::Current& current = Ice::Current()) const override;
-        float getMass(const Ice::Current& current = Ice::Current()) const override;
+        Vector3BasePtr getCoM(const Ice::Current& current = Ice::emptyCurrent) const override;
+        Ice::FloatSeq getInertia(const Ice::Current& current = Ice::emptyCurrent) const override;
+        float getMass(const Ice::Current& current = Ice::emptyCurrent) const override;
 
 
 
@@ -123,29 +123,29 @@ namespace armarx
         SharedRobotServant(VirtualRobot::RobotPtr robot, RobotStateComponentInterfacePrx robotStateComponent, RobotStateListenerInterfacePrx robotStateListenerPrx);
         ~SharedRobotServant() override;
         void setRobotStateComponent(RobotStateComponentInterfacePrx robotStateComponent);
-        SharedRobotNodeInterfacePrx getRobotNode(const std::string& name, const Ice::Current& current = Ice::Current()) override;
-        SharedRobotNodeInterfacePrx getRootNode(const Ice::Current& current = Ice::Current()) override;
-        bool hasRobotNode(const std::string& name, const Ice::Current& current = Ice::Current()) override;
+        SharedRobotNodeInterfacePrx getRobotNode(const std::string& name, const Ice::Current& current = Ice::emptyCurrent) override;
+        SharedRobotNodeInterfacePrx getRootNode(const Ice::Current& current = Ice::emptyCurrent) override;
+        bool hasRobotNode(const std::string& name, const Ice::Current& current = Ice::emptyCurrent) override;
 
-        NameList getRobotNodes(const Ice::Current& current = Ice::Current()) override;
-        RobotNodeSetInfoPtr getRobotNodeSet(const std::string& name, const Ice::Current& current = Ice::Current()) override;
-        NameList getRobotNodeSets(const Ice::Current& current = Ice::Current()) override;
-        bool hasRobotNodeSet(const std::string& name, const Ice::Current& current = Ice::Current()) override;
+        NameList getRobotNodes(const Ice::Current& current = Ice::emptyCurrent) override;
+        RobotNodeSetInfoPtr getRobotNodeSet(const std::string& name, const Ice::Current& current = Ice::emptyCurrent) override;
+        NameList getRobotNodeSets(const Ice::Current& current = Ice::emptyCurrent) override;
+        bool hasRobotNodeSet(const std::string& name, const Ice::Current& current = Ice::emptyCurrent) override;
 
-        std::string getName(const Ice::Current& current = Ice::Current()) override;
-        std::string getType(const Ice::Current& current = Ice::Current()) override;
+        std::string getName(const Ice::Current& current = Ice::emptyCurrent) override;
+        std::string getType(const Ice::Current& current = Ice::emptyCurrent) override;
 
-        PoseBasePtr getGlobalPose(const Ice::Current& current = Ice::Current()) override;
-        NameValueMap getConfig(const Ice::Current& current = Ice::Current()) override;
-        NameValueMap getConfigAndPose(PoseBasePtr& globalPose, const Ice::Current& current = Ice::Current()) override;
-        void setGlobalPose(const PoseBasePtr& pose, const Ice::Current& current = Ice::Current()) override;
+        PoseBasePtr getGlobalPose(const Ice::Current& current = Ice::emptyCurrent) override;
+        NameValueMap getConfig(const Ice::Current& current = Ice::emptyCurrent) override;
+        NameValueMap getConfigAndPose(PoseBasePtr& globalPose, const Ice::Current& current = Ice::emptyCurrent) override;
+        void setGlobalPose(const PoseBasePtr& pose, const Ice::Current& current = Ice::emptyCurrent) override;
 
-        float getScaling(const Ice::Current& = Ice::Current()) override;
+        float getScaling(const Ice::Current& = Ice::emptyCurrent) override;
 
         VirtualRobot::RobotPtr getRobot() const;
 
         void setTimestamp(const IceUtil::Time& updateTime);
-        TimestampBasePtr getTimestamp(const Ice::Current& = Ice::Current()) const override;
+        TimestampBasePtr getTimestamp(const Ice::Current& = Ice::emptyCurrent) const override;
         RobotStateComponentInterfacePrx getRobotStateComponent(const Ice::Current&) const override;
     protected:
         VirtualRobot::RobotPtr _robot;
diff --git a/source/RobotAPI/components/ViewSelection/ViewSelection.h b/source/RobotAPI/components/ViewSelection/ViewSelection.h
index 414f566f4..f8e6cbdc9 100644
--- a/source/RobotAPI/components/ViewSelection/ViewSelection.h
+++ b/source/RobotAPI/components/ViewSelection/ViewSelection.h
@@ -143,13 +143,13 @@ namespace armarx
          */
         PropertyDefinitionsPtr createPropertyDefinitions() override;
 
-        void addManualViewTarget(const FramedPositionBasePtr& target, const Ice::Current& c = Ice::Current()) override;
+        void addManualViewTarget(const FramedPositionBasePtr& target, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void clearManualViewTargets(const Ice::Current& c = Ice::Current()) override;
+        void clearManualViewTargets(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        ViewTargetList getManualViewTargets(const Ice::Current& c = Ice::Current()) override;
+        ViewTargetList getManualViewTargets(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void activateAutomaticViewSelection(const Ice::Current& c = Ice::Current()) override
+        void activateAutomaticViewSelection(const Ice::Current& c = Ice::emptyCurrent) override
         {
             boost::mutex::scoped_lock lock(manualViewTargetsMutex);
 
@@ -159,7 +159,7 @@ namespace armarx
             viewSelectionObserver->onActivateAutomaticViewSelection();
         }
 
-        void deactivateAutomaticViewSelection(const Ice::Current& c = Ice::Current()) override
+        void deactivateAutomaticViewSelection(const Ice::Current& c = Ice::emptyCurrent) override
         {
             boost::mutex::scoped_lock lock(manualViewTargetsMutex);
 
@@ -169,22 +169,22 @@ namespace armarx
             viewSelectionObserver->onDeactivateAutomaticViewSelection();
         }
 
-        bool isEnabledAutomaticViewSelection(const Ice::Current& c = Ice::Current()) override
+        bool isEnabledAutomaticViewSelection(const Ice::Current& c = Ice::emptyCurrent) override
         {
             boost::mutex::scoped_lock lock(manualViewTargetsMutex);
 
             return doAutomaticViewSelection;
         }
 
-        void updateSaliencyMap(const SaliencyMapBasePtr& map, const Ice::Current& c = ::Ice::Current()) override;
+        void updateSaliencyMap(const SaliencyMapBasePtr& map, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void removeSaliencyMap(const std::string& name, const Ice::Current& c = ::Ice::Current()) override;
+        void removeSaliencyMap(const std::string& name, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        ::Ice::StringSeq getSaliencyMapNames(const Ice::Current& c = ::Ice::Current()) override;
+        ::Ice::StringSeq getSaliencyMapNames(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void drawSaliencySphere(const ::Ice::StringSeq& names, const Ice::Current& c = ::Ice::Current()) override;
+        void drawSaliencySphere(const ::Ice::StringSeq& names, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void clearSaliencySphere(const Ice::Current& c = ::Ice::Current()) override;
+        void clearSaliencySphere(const Ice::Current& c = Ice::emptyCurrent) override;
 
 
     private:
diff --git a/source/RobotAPI/components/units/ForceTorqueObserver.cpp b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
index fe4074bbb..e896c60c2 100644
--- a/source/RobotAPI/components/units/ForceTorqueObserver.cpp
+++ b/source/RobotAPI/components/units/ForceTorqueObserver.cpp
@@ -131,7 +131,7 @@ void ForceTorqueObserver::visualizerFunction()
             {
                 //            if (localRobot->hasRobotNode(channel.first))
                 {
-                    DatafieldRefPtr field = DatafieldRefPtr::dynamicCast(getForceDatafield(channel.first, Ice::Current()));
+                    DatafieldRefPtr field = DatafieldRefPtr::dynamicCast(getForceDatafield(channel.first, Ice::emptyCurrent));
 
                     FramedDirectionPtr value = field->getDataField()->get<FramedDirection>();
                     if (frameAlreadyReported.count(value->frame) > 0 || (value->frame != GlobalFrame && !value->frame.empty() && !localRobot->hasRobotNode(value->frame)))
@@ -153,7 +153,7 @@ void ForceTorqueObserver::visualizerFunction()
                                            std::max(arrowLength * forceMag, 10.f),
                                            3);
 
-                    field = DatafieldRefPtr::dynamicCast(getTorqueDatafield(channel.first, Ice::Current()));
+                    field = DatafieldRefPtr::dynamicCast(getTorqueDatafield(channel.first, Ice::emptyCurrent));
                     value = field->getDataField()->get<FramedDirection>();
                     auto torque = value;
                     //                    ARMARX_INFO << deactivateSpam(1, torque->frame) << "Reporting for " << channel.first << " in frame " << torque->frame;
diff --git a/source/RobotAPI/components/units/ForceTorqueUnitSimulation.h b/source/RobotAPI/components/units/ForceTorqueUnitSimulation.h
index a52d64e37..cc3115aa4 100644
--- a/source/RobotAPI/components/units/ForceTorqueUnitSimulation.h
+++ b/source/RobotAPI/components/units/ForceTorqueUnitSimulation.h
@@ -79,12 +79,12 @@ namespace armarx
         /**
          * \warning Not implemented yet
          */
-        void setOffset(const FramedDirectionBasePtr& forceOffsets, const FramedDirectionBasePtr& torqueOffsets, const Ice::Current& c = ::Ice::Current()) override;
+        void setOffset(const FramedDirectionBasePtr& forceOffsets, const FramedDirectionBasePtr& torqueOffsets, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \warning Not implemented yet
          */
-        void setToNull(const Ice::Current& c = ::Ice::Current()) override;
+        void setToNull(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \see PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/HandUnit.h b/source/RobotAPI/components/units/HandUnit.h
index 12d79c41b..6f7cc714a 100644
--- a/source/RobotAPI/components/units/HandUnit.h
+++ b/source/RobotAPI/components/units/HandUnit.h
@@ -118,7 +118,7 @@ namespace armarx
         /**
          * Send command to the hand to form a specific shape position. The shapes are defined in the robot.xml file.
          */
-        void setShape(const std::string& shapeName, const Ice::Current& c = ::Ice::Current()) override;
+        void setShape(const std::string& shapeName, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * @brief setShapeWithObjectInstance Send command to the hand to form a specific shape position.
@@ -128,15 +128,15 @@ namespace armarx
          * @param shapeName Name of the well known shape that the hand should form
          * @param graspedObjectInstanceName name of the object instance which is used to check for collisions while setting the shape
          */
-        void setShapeWithObjectInstance(const std::string& shapeName, const std::string& objectInstanceName, const Ice::Current& c = ::Ice::Current()) override;
+        void setShapeWithObjectInstance(const std::string& shapeName, const std::string& objectInstanceName, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \return a list of strings for shape positions which can be used together with HandUnit::shape().
          */
-        SingleTypeVariantListBasePtr getShapeNames(const Ice::Current& c = ::Ice::Current()) override;
+        SingleTypeVariantListBasePtr getShapeNames(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        NameValueMap getShapeJointValues(const std::string& shapeName, const Ice::Current& c = ::Ice::Current()) override;
-        NameValueMap getCurrentJointValues(const Ice::Current& c = ::Ice::Current()) override;
+        NameValueMap getShapeJointValues(const std::string& shapeName, const Ice::Current& c = Ice::emptyCurrent) override;
+        NameValueMap getCurrentJointValues(const Ice::Current& c = Ice::emptyCurrent) override;
 
         void setObjectGrasped(const std::string& objectName, const Ice::Current&) override;
         void setObjectReleased(const std::string& objectName, const Ice::Current&) override;
diff --git a/source/RobotAPI/components/units/HandUnitSimulation.h b/source/RobotAPI/components/units/HandUnitSimulation.h
index 1c02fd686..d5fff658f 100644
--- a/source/RobotAPI/components/units/HandUnitSimulation.h
+++ b/source/RobotAPI/components/units/HandUnitSimulation.h
@@ -72,12 +72,12 @@ namespace armarx
          *
          * \warning Not implemented yet!
          */
-        void setShape(const std::string& shapeName, const Ice::Current& c = ::Ice::Current()) override;
+        void setShape(const std::string& shapeName, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \warning Not implemented yet!
          */
-        void setJointAngles(const NameValueMap& jointAngles, const Ice::Current& c = ::Ice::Current()) override;
+        void setJointAngles(const NameValueMap& jointAngles, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \see armarx::PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/HapticObserver.h b/source/RobotAPI/components/units/HapticObserver.h
index e6b31b334..5e75db5b0 100644
--- a/source/RobotAPI/components/units/HapticObserver.h
+++ b/source/RobotAPI/components/units/HapticObserver.h
@@ -139,7 +139,7 @@ namespace armarx
         void onConnectObserver() override;
         void onExitObserver() override;
 
-        void reportSensorValues(const ::std::string& device, const ::std::string& name, const ::armarx::MatrixFloatBasePtr& values, const ::armarx::TimestampBasePtr& timestamp, const ::Ice::Current& = ::Ice::Current()) override;
+        void reportSensorValues(const ::std::string& device, const ::std::string& name, const ::armarx::MatrixFloatBasePtr& values, const ::armarx::TimestampBasePtr& timestamp, const ::Ice::Current& = Ice::emptyCurrent) override;
 
         /**
          * \see PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/HeadIKUnit.h b/source/RobotAPI/components/units/HeadIKUnit.h
index bbdd75e22..6783a2b2e 100644
--- a/source/RobotAPI/components/units/HeadIKUnit.h
+++ b/source/RobotAPI/components/units/HeadIKUnit.h
@@ -77,18 +77,18 @@ namespace armarx
         }
 
         // HeadIKUnitInterface interface
-        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = Ice::Current()) override;
-        void setHeadTarget(const std::string& robotNodeSetName, const FramedPositionBasePtr& targetPosition, const Ice::Current& c = Ice::Current()) override;
+        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setHeadTarget(const std::string& robotNodeSetName, const FramedPositionBasePtr& targetPosition, const Ice::Current& c = Ice::emptyCurrent) override;
 
         // UnitExecutionManagementInterface interface
-        void init(const Ice::Current& c = Ice::Current()) override;
-        void start(const Ice::Current& c = Ice::Current()) override;
-        void stop(const Ice::Current& c = Ice::Current()) override;
-        UnitExecutionState getExecutionState(const Ice::Current& c = Ice::Current()) override;
+        void init(const Ice::Current& c = Ice::emptyCurrent) override;
+        void start(const Ice::Current& c = Ice::emptyCurrent) override;
+        void stop(const Ice::Current& c = Ice::emptyCurrent) override;
+        UnitExecutionState getExecutionState(const Ice::Current& c = Ice::emptyCurrent) override;
 
         // UnitResourceManagementInterface interface
-        void request(const Ice::Current& c = Ice::Current()) override;
-        void release(const Ice::Current& c = Ice::Current()) override;
+        void request(const Ice::Current& c = Ice::emptyCurrent) override;
+        void release(const Ice::Current& c = Ice::emptyCurrent) override;
 
         // PropertyUser interface
         PropertyDefinitionsPtr createPropertyDefinitions() override;
diff --git a/source/RobotAPI/components/units/InertialMeasurementUnitObserver.h b/source/RobotAPI/components/units/InertialMeasurementUnitObserver.h
index 1ceba2cf5..4591228d9 100644
--- a/source/RobotAPI/components/units/InertialMeasurementUnitObserver.h
+++ b/source/RobotAPI/components/units/InertialMeasurementUnitObserver.h
@@ -73,7 +73,7 @@ namespace armarx
         void onConnectObserver() override;
         void onExitObserver() override;
 
-        void reportSensorValues(const std::string& device, const std::string& name, const IMUData& values, const TimestampBasePtr& timestamp, const Ice::Current& c = ::Ice::Current()) override;
+        void reportSensorValues(const std::string& device, const std::string& name, const IMUData& values, const TimestampBasePtr& timestamp, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * @see PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/KinematicUnit.h b/source/RobotAPI/components/units/KinematicUnit.h
index 64b65dd2b..40be0bf28 100644
--- a/source/RobotAPI/components/units/KinematicUnit.h
+++ b/source/RobotAPI/components/units/KinematicUnit.h
@@ -89,41 +89,41 @@ namespace armarx
         /**
          * \return the robot xml filename as specified in the configuration
          */
-        std::string getRobotFilename(const Ice::Current& = GlobalIceCurrent) const override;
+        std::string getRobotFilename(const Ice::Current& = Ice::emptyCurrent) const override;
 
         /*!
          * \brief getArmarXPackages
          * \return All dependent packages, which might contain a robot file.
          */
-        std::vector< std::string > getArmarXPackages(const Ice::Current& = GlobalIceCurrent) const override;
+        std::vector< std::string > getArmarXPackages(const Ice::Current& = Ice::emptyCurrent) const override;
 
         /**
          *
          * \return  The name of this robot instance.
          */
-        std::string getRobotName(const Ice::Current& = GlobalIceCurrent) const override;
+        std::string getRobotName(const Ice::Current& = Ice::emptyCurrent) const override;
         /**
          *
          * \return  The name of this robot instance.
          */
-        std::string getRobotNodeSetName(const Ice::Current& = GlobalIceCurrent) const override;
+        std::string getRobotNodeSetName(const Ice::Current& = Ice::emptyCurrent) const override;
 
         /**
          *
          * \return  The name of the report topic
          */
-        std::string getReportTopicName(const Ice::Current& = GlobalIceCurrent) const override;
+        std::string getReportTopicName(const Ice::Current& = Ice::emptyCurrent) const override;
 
         virtual void onInitKinematicUnit() = 0;
         virtual void onStartKinematicUnit() = 0;
         virtual void onExitKinematicUnit() = 0;
 
         // proxy implementation
-        virtual void requestKinematicUnit(const Ice::StringSeq& nodes, const Ice::Current& c = GlobalIceCurrent);
-        virtual void releaseKinematicUnit(const Ice::StringSeq& nodes, const Ice::Current& c = GlobalIceCurrent);
-        void switchControlMode(const NameControlModeMap& targetJointModes, const Ice::Current& c = GlobalIceCurrent) override;
-        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& c = GlobalIceCurrent) override;
-        void setJointVelocities(const NameValueMap& targetJointVelocities, const Ice::Current& c = GlobalIceCurrent) override;
+        virtual void requestKinematicUnit(const Ice::StringSeq& nodes, const Ice::Current& c = Ice::emptyCurrent);
+        virtual void releaseKinematicUnit(const Ice::StringSeq& nodes, const Ice::Current& c = Ice::emptyCurrent);
+        void switchControlMode(const NameControlModeMap& targetJointModes, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setJointVelocities(const NameValueMap& targetJointVelocities, const Ice::Current& c = Ice::emptyCurrent) override;
 
 
         /**
diff --git a/source/RobotAPI/components/units/KinematicUnitObserver.h b/source/RobotAPI/components/units/KinematicUnitObserver.h
index 1f306d686..a0f366755 100644
--- a/source/RobotAPI/components/units/KinematicUnitObserver.h
+++ b/source/RobotAPI/components/units/KinematicUnitObserver.h
@@ -75,14 +75,14 @@ namespace armarx
 
 
         // slice interface implementation
-        void reportControlModeChanged(const NameControlModeMap& jointModes, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointAngles(const NameValueMap& jointAngles, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointVelocities(const NameValueMap& jointVelocities, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointTorques(const NameValueMap& jointTorques, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
+        void reportControlModeChanged(const NameControlModeMap& jointModes, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointAngles(const NameValueMap& jointAngles, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointVelocities(const NameValueMap& jointVelocities, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointTorques(const NameValueMap& jointTorques, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
         void reportJointAccelerations(const NameValueMap& jointAccelerations, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c) override;
-        void reportJointCurrents(const NameValueMap& jointCurrents, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointMotorTemperatures(const NameValueMap& jointMotorTemperatures, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
-        void reportJointStatuses(const NameStatusMap& jointStatuses, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = ::Ice::Current()) override;
+        void reportJointCurrents(const NameValueMap& jointCurrents, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointMotorTemperatures(const NameValueMap& jointMotorTemperatures, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportJointStatuses(const NameStatusMap& jointStatuses, Ice::Long timestamp, bool aValueChanged, const Ice::Current& c = Ice::emptyCurrent) override;
 
         std::string getDefaultName() const override
         {
diff --git a/source/RobotAPI/components/units/KinematicUnitSimulation.h b/source/RobotAPI/components/units/KinematicUnitSimulation.h
index 7a04769c7..cc3dae20a 100644
--- a/source/RobotAPI/components/units/KinematicUnitSimulation.h
+++ b/source/RobotAPI/components/units/KinematicUnitSimulation.h
@@ -148,26 +148,26 @@ namespace armarx
         void simulationFunction();
 
         // proxy implementation
-        void requestJoints(const Ice::StringSeq& joints, const Ice::Current& c = ::Ice::Current()) override;
-        void releaseJoints(const Ice::StringSeq& joints, const Ice::Current& c = ::Ice::Current()) override;
-        void switchControlMode(const NameControlModeMap& targetJointModes, const Ice::Current& c = ::Ice::Current()) override;
-        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& c = ::Ice::Current()) override;
-        void setJointVelocities(const NameValueMap& targetJointVelocities, const Ice::Current& c = ::Ice::Current()) override;
-        void setJointTorques(const NameValueMap& targetJointTorques, const Ice::Current& c = ::Ice::Current()) override;
+        void requestJoints(const Ice::StringSeq& joints, const Ice::Current& c = Ice::emptyCurrent) override;
+        void releaseJoints(const Ice::StringSeq& joints, const Ice::Current& c = Ice::emptyCurrent) override;
+        void switchControlMode(const NameControlModeMap& targetJointModes, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setJointAngles(const NameValueMap& targetJointAngles, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setJointVelocities(const NameValueMap& targetJointVelocities, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setJointTorques(const NameValueMap& targetJointTorques, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        NameControlModeMap getControlModes(const Ice::Current& c = ::Ice::Current()) override;
+        NameControlModeMap getControlModes(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \warning Not implemented yet!
          */
-        void setJointAccelerations(const NameValueMap& targetJointAccelerations, const Ice::Current& c = ::Ice::Current()) override;
+        void setJointAccelerations(const NameValueMap& targetJointAccelerations, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \warning Not implemented yet!
          */
-        void setJointDecelerations(const NameValueMap& targetJointDecelerations, const Ice::Current& c = ::Ice::Current()) override;
+        void setJointDecelerations(const NameValueMap& targetJointDecelerations, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void stop(const Ice::Current& c = Ice::Current()) override;
+        void stop(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \see PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/OptoForceUnitObserver.h b/source/RobotAPI/components/units/OptoForceUnitObserver.h
index 1fcdb2669..3bdc63e1a 100644
--- a/source/RobotAPI/components/units/OptoForceUnitObserver.h
+++ b/source/RobotAPI/components/units/OptoForceUnitObserver.h
@@ -72,7 +72,7 @@ namespace armarx
         void onConnectObserver() override;
         void onExitObserver() override;
 
-        void reportSensorValues(const std::string& device, const std::string& name, float fx, float fy, float fz, const TimestampBasePtr& timestamp, const Ice::Current& c = ::Ice::Current()) override;
+        void reportSensorValues(const std::string& device, const std::string& name, float fx, float fy, float fz, const TimestampBasePtr& timestamp, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * @see PropertyUser::createPropertyDefinitions()
diff --git a/source/RobotAPI/components/units/PlatformUnit.h b/source/RobotAPI/components/units/PlatformUnit.h
index 119f4a224..5bedf16ac 100644
--- a/source/RobotAPI/components/units/PlatformUnit.h
+++ b/source/RobotAPI/components/units/PlatformUnit.h
@@ -105,9 +105,9 @@ namespace armarx
          * The platform will move until it reaches the specified target with the specified accuracy.
          */
         void moveTo(Ice::Float targetPlatformPositionX, Ice::Float targetPlatformPositionY, Ice::Float targetPlatformRotation,
-                    Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = ::Ice::Current()) override;
+                    Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void stopPlatform(const Ice::Current& c = Ice::Current()) override {}
+        void stopPlatform(const Ice::Current& c = Ice::emptyCurrent) override {}
         /**
          * \see armarx::PropertyUser::createPropertyDefinitions()
          */
diff --git a/source/RobotAPI/components/units/PlatformUnitObserver.cpp b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
index a604fd002..9194408d3 100644
--- a/source/RobotAPI/components/units/PlatformUnitObserver.cpp
+++ b/source/RobotAPI/components/units/PlatformUnitObserver.cpp
@@ -82,7 +82,7 @@ void PlatformUnitObserver::onConnectObserver()
     offerDataField("platformOdometryPose", "rotation", VariantType::Float, "Current Odometry Rotation of " + platformNodeName + " in radian");
 
     // odometry pose is always zero in the beginning - set it  so that it can be queried
-    reportPlatformOdometryPose(0, 0, 0, armarx::GlobalIceCurrent);
+    reportPlatformOdometryPose(0, 0, 0, Ice::emptyCurrent);
 
 }
 
diff --git a/source/RobotAPI/components/units/PlatformUnitObserver.h b/source/RobotAPI/components/units/PlatformUnitObserver.h
index 47d86bbef..412b9c57f 100644
--- a/source/RobotAPI/components/units/PlatformUnitObserver.h
+++ b/source/RobotAPI/components/units/PlatformUnitObserver.h
@@ -78,9 +78,9 @@ namespace armarx
         void onConnectObserver() override;
 
         // slice interface implementation
-        void reportPlatformPose(::Ice::Float currentPlatformPositionX, ::Ice::Float currentPlatformPositionY, ::Ice::Float currentPlatformRotation, const Ice::Current& c = ::Ice::Current()) override;
-        void reportNewTargetPose(::Ice::Float newPlatformPositionX, ::Ice::Float newPlatformPositionY, ::Ice::Float newPlatformRotation, const Ice::Current& c = ::Ice::Current()) override;
-        void reportPlatformVelocity(::Ice::Float currentPlatformVelocityX, ::Ice::Float currentPlatformVelocityY, ::Ice::Float currentPlatformVelocityRotation, const Ice::Current& c = ::Ice::Current()) override;
+        void reportPlatformPose(::Ice::Float currentPlatformPositionX, ::Ice::Float currentPlatformPositionY, ::Ice::Float currentPlatformRotation, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportNewTargetPose(::Ice::Float newPlatformPositionX, ::Ice::Float newPlatformPositionY, ::Ice::Float newPlatformRotation, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportPlatformVelocity(::Ice::Float currentPlatformVelocityX, ::Ice::Float currentPlatformVelocityY, ::Ice::Float currentPlatformVelocityRotation, const Ice::Current& c = Ice::emptyCurrent) override;
         void reportPlatformOdometryPose(Ice::Float x, Ice::Float y, Ice::Float angle, const Ice::Current&) override;
 
         std::string getDefaultName() const override
diff --git a/source/RobotAPI/components/units/PlatformUnitSimulation.h b/source/RobotAPI/components/units/PlatformUnitSimulation.h
index a4ba66acb..8c7743a7f 100644
--- a/source/RobotAPI/components/units/PlatformUnitSimulation.h
+++ b/source/RobotAPI/components/units/PlatformUnitSimulation.h
@@ -83,16 +83,16 @@ namespace armarx
         void simulationFunction();
 
         // proxy implementation
-        void moveTo(Ice::Float targetPlatformPositionX, Ice::Float targetPlatformPositionY, Ice::Float targetPlatformRotation, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = ::Ice::Current()) override;
+        void moveTo(Ice::Float targetPlatformPositionX, Ice::Float targetPlatformPositionY, Ice::Float targetPlatformRotation, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \warning Not yet implemented!
          */
-        void move(float targetPlatformVelocityX, float targetPlatformVelocityY, float targetPlatformVelocityRotation, const Ice::Current& c = Ice::Current()) override;
+        void move(float targetPlatformVelocityX, float targetPlatformVelocityY, float targetPlatformVelocityRotation, const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void moveRelative(float targetPlatformOffsetX, float targetPlatformOffsetY, float targetPlatformOffsetRotation, float positionalAccuracy, float orientationalAccuracy, const Ice::Current& c = Ice::Current()) override;
-        void setMaxVelocities(float positionalVelocity, float orientaionalVelocity, const Ice::Current& c = Ice::Current()) override;
-        void stopPlatform(const Ice::Current& c = Ice::Current()) override;
+        void moveRelative(float targetPlatformOffsetX, float targetPlatformOffsetY, float targetPlatformOffsetRotation, float positionalAccuracy, float orientationalAccuracy, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setMaxVelocities(float positionalVelocity, float orientaionalVelocity, const Ice::Current& c = Ice::emptyCurrent) override;
+        void stopPlatform(const Ice::Current& c = Ice::emptyCurrent) override;
         /**
          * \see PropertyUser::createPropertyDefinitions()
          */
diff --git a/source/RobotAPI/components/units/RobotPoseUnit.h b/source/RobotAPI/components/units/RobotPoseUnit.h
index d62076592..fb8e12eaf 100644
--- a/source/RobotAPI/components/units/RobotPoseUnit.h
+++ b/source/RobotAPI/components/units/RobotPoseUnit.h
@@ -107,9 +107,9 @@ namespace armarx
         * @param postionalAccuracy Robot stops translating if distance to target position gets lower than this threshhold.
         * @param orientationalAccuracy Robot stops rotating if distance from current to target orientation gets lower than this threshhold.
         **/
-        virtual void moveTo(PoseBasePtr targetPose, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = ::Ice::Current());
+        virtual void moveTo(PoseBasePtr targetPose, Ice::Float positionalAccuracy, Ice::Float orientationalAccuracy, const Ice::Current& c = Ice::emptyCurrent);
 
-        void stopMovement(const Ice::Current& c = Ice::Current()) override {}
+        void stopMovement(const Ice::Current& c = Ice::emptyCurrent) override {}
         /**
          * \see armarx::PropertyUser::createPropertyDefinitions()
          */
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianVelocityControllerWithRamp.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianVelocityControllerWithRamp.h
index d23148c61..7b9994929 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianVelocityControllerWithRamp.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointCartesianVelocityControllerWithRamp.h
@@ -138,7 +138,7 @@ namespace armarx
 
         // NJointCartesianVelocityControllerWithRampInterface interface
     public:
-        void setMaxAccelerations(float maxPositionAcceleration, float maxOrientationAcceleration, float maxNullspaceAcceleration, const Ice::Current& = Ice::Current()) override;
+        void setMaxAccelerations(float maxPositionAcceleration, float maxOrientationAcceleration, float maxNullspaceAcceleration, const Ice::Current& = Ice::emptyCurrent) override;
         void setTargetVelocity(float vx, float vy, float vz, float vrx, float vry, float vrz, const Ice::Current&) override;
         void setJointLimitAvoidanceScale(float jointLimitAvoidanceScale, const Ice::Current&) override;
         void setKpJointLimitAvoidance(float KpJointLimitAvoidance, const Ice::Current&) override;
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h
index ce9a64b4e..40284b1c8 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h
@@ -708,26 +708,26 @@ namespace armarx
         // ///////////////////////////////////// ice interface //////////////////////////////////// //
         // //////////////////////////////////////////////////////////////////////////////////////// //
     public:
-        bool isControllerActive(const Ice::Current& = GlobalIceCurrent) const final override;
-        bool isControllerRequested(const Ice::Current& = GlobalIceCurrent) const final override;
-        bool isDeletable(const Ice::Current& = GlobalIceCurrent) const final override;
-        bool hasControllerError(const Ice::Current& = GlobalIceCurrent) const final override;
-
-        std::string getClassName(const Ice::Current& = GlobalIceCurrent) const override  = 0;
-        std::string getInstanceName(const Ice::Current& = GlobalIceCurrent) const final override;
-
-        NJointControllerDescription getControllerDescription(const Ice::Current& = GlobalIceCurrent) const final override;
-        NJointControllerStatus getControllerStatus(const Ice::Current& = GlobalIceCurrent) const final override;
-        NJointControllerDescriptionWithStatus getControllerDescriptionWithStatus(const Ice::Current& = GlobalIceCurrent) const final override;
-        RobotUnitInterfacePrx getRobotUnit(const Ice::Current& = GlobalIceCurrent) const final override;
-
-        void activateController(const Ice::Current& = GlobalIceCurrent) final override;
-        void deactivateController(const Ice::Current& = GlobalIceCurrent) final override;
-        void deleteController(const Ice::Current& = GlobalIceCurrent) final override;
-        void deactivateAndDeleteController(const Ice::Current& = GlobalIceCurrent) final override;
-
-        WidgetDescription::StringWidgetDictionary getFunctionDescriptions(const Ice::Current& = GlobalIceCurrent) const override;
-        void callDescribedFunction(const std::string&, const StringVariantBaseMap&, const Ice::Current& = GlobalIceCurrent) override;
+        bool isControllerActive(const Ice::Current& = Ice::emptyCurrent) const final override;
+        bool isControllerRequested(const Ice::Current& = Ice::emptyCurrent) const final override;
+        bool isDeletable(const Ice::Current& = Ice::emptyCurrent) const final override;
+        bool hasControllerError(const Ice::Current& = Ice::emptyCurrent) const final override;
+
+        std::string getClassName(const Ice::Current& = Ice::emptyCurrent) const override  = 0;
+        std::string getInstanceName(const Ice::Current& = Ice::emptyCurrent) const final override;
+
+        NJointControllerDescription getControllerDescription(const Ice::Current& = Ice::emptyCurrent) const final override;
+        NJointControllerStatus getControllerStatus(const Ice::Current& = Ice::emptyCurrent) const final override;
+        NJointControllerDescriptionWithStatus getControllerDescriptionWithStatus(const Ice::Current& = Ice::emptyCurrent) const final override;
+        RobotUnitInterfacePrx getRobotUnit(const Ice::Current& = Ice::emptyCurrent) const final override;
+
+        void activateController(const Ice::Current& = Ice::emptyCurrent) final override;
+        void deactivateController(const Ice::Current& = Ice::emptyCurrent) final override;
+        void deleteController(const Ice::Current& = Ice::emptyCurrent) final override;
+        void deactivateAndDeleteController(const Ice::Current& = Ice::emptyCurrent) final override;
+
+        WidgetDescription::StringWidgetDictionary getFunctionDescriptions(const Ice::Current& = Ice::emptyCurrent) const override;
+        void callDescribedFunction(const std::string&, const StringVariantBaseMap&, const Ice::Current& = Ice::emptyCurrent) override;
         // //////////////////////////////////////////////////////////////////////////////////////// //
         // ///////////////////////////////////// rt interface ///////////////////////////////////// //
         // //////////////////////////////////////////////////////////////////////////////////////// //
@@ -857,7 +857,7 @@ namespace armarx
         // //////////////////////////////////////////////////////////////////////////////////////// //
     public:
         //used control devices
-        StringStringDictionary getControlDeviceUsedControlModeMap(const Ice::Current& = GlobalIceCurrent) const final override;
+        StringStringDictionary getControlDeviceUsedControlModeMap(const Ice::Current& = Ice::emptyCurrent) const final override;
         const std::vector<char>& getControlDeviceUsedBitmap() const;
         const std::vector<std::size_t>& getControlDeviceUsedIndices() const;
 
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp
index e71fd985c..c00425e6a 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp
@@ -325,7 +325,7 @@ namespace armarx
                 }
                 ptr->deletable = deletable;
                 ptr->internal = internal;
-                ptr->rtClassName_ = ptr->getClassName(::armarx::GlobalIceCurrent);
+                ptr->rtClassName_ = ptr->getClassName(Ice::emptyCurrent);
                 ptr->instanceName_ = instanceName;
                 return ptr;
             }
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformRelativePositionController.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformRelativePositionController.h
index 2e5c60cd4..30805e93e 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformRelativePositionController.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformRelativePositionController.h
@@ -88,7 +88,7 @@ namespace armarx
         inline virtual void rtPreActivateController() override;
 
         //ice interface
-        inline virtual std::string getClassName(const Ice::Current& = GlobalIceCurrent) const override
+        inline virtual std::string getClassName(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return "NJointHolonomicPlatformRelativePositionController";
         }
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformUnitVelocityPassThroughController.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformUnitVelocityPassThroughController.h
index 2f1bfe26e..89cb892d3 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformUnitVelocityPassThroughController.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformUnitVelocityPassThroughController.h
@@ -72,7 +72,7 @@ namespace armarx
         void setVelocites(float velocityX, float velocityY, float velocityRotation);
 
         //ice interface
-        std::string getClassName(const Ice::Current& = GlobalIceCurrent) const override
+        std::string getClassName(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return "NJointHolonomicPlatformUnitVelocityPassThroughController";
         }
diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointKinematicUnitPassThroughController.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointKinematicUnitPassThroughController.h
index d8f0b321d..2985febdc 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointKinematicUnitPassThroughController.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointKinematicUnitPassThroughController.h
@@ -80,7 +80,7 @@ namespace armarx
         }
 
         //ice interface
-        inline std::string getClassName(const Ice::Current& = GlobalIceCurrent) const override
+        inline std::string getClassName(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return "NJointKinematicUnitPassThroughController";
         }
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.h
index 009c950b4..33e8a906f 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.h
@@ -96,17 +96,17 @@ namespace armarx
              * @brief Sets the \ref EmergencyStopState
              * @param state The \ref EmergencyStopState to set
              */
-            void setEmergencyStopState(EmergencyStopState state, const Ice::Current& = GlobalIceCurrent) override;
+            void setEmergencyStopState(EmergencyStopState state, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Returns the \ref ControlThread's target \ref EmergencyStopState
              * @return The \ref EmergencyStopState
              */
-            EmergencyStopState getEmergencyStopState(const Ice::Current& = GlobalIceCurrent) const override;
+            EmergencyStopState getEmergencyStopState(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the \ref ControlThread's \ref EmergencyStopState
              * @return The \ref EmergencyStopState
              */
-            EmergencyStopState getRtEmergencyStopState(const Ice::Current& = GlobalIceCurrent) const override;
+            EmergencyStopState getRtEmergencyStopState(const Ice::Current& = Ice::emptyCurrent) const override;
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // /////////////////////////////////// Module interface /////////////////////////////////// //
             // //////////////////////////////////////////////////////////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp
index 73de76424..d528147fd 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp
@@ -183,7 +183,7 @@ namespace armarx
             return createNJointController(
                        className, instanceName,
                        NJointControllerRegistry::get(className)->GenerateConfigFromVariants(variants),
-                       GlobalIceCurrent/*to select ice overload*/);
+                       Ice::emptyCurrent/*to select ice overload*/);
         }
 
         const NJointControllerPtr& ControllerManagement::createNJointController(
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.h
index 1175d350c..421e03796 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.h
@@ -70,13 +70,13 @@ namespace armarx
              * @return A proxy to the \ref NJointController.
              * @see getAllNJointControllers
              */
-            NJointControllerInterfacePrx getNJointController(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerInterfacePrx getNJointController(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns proxies to all \ref NJointController "NJointControllers"
              * @return Proxies to all \ref NJointController "NJointControllers"
              * @see getNJointController
              */
-            StringNJointControllerPrxDictionary getAllNJointControllers(const Ice::Current& = GlobalIceCurrent) const override;
+            StringNJointControllerPrxDictionary getAllNJointControllers(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Returns the status of the \ref NJointController.
@@ -87,7 +87,7 @@ namespace armarx
              * @see getNJointControllerDescriptionWithStatus
              * @see getNJointControllerDescriptionsWithStatuses
              */
-            NJointControllerStatus getNJointControllerStatus(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerStatus getNJointControllerStatus(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the status of all \ref NJointController "NJointControllers".
              * @return The status of all \ref NJointController "NJointControllers".
@@ -96,7 +96,7 @@ namespace armarx
              * @see getNJointControllerDescriptionWithStatus
              * @see getNJointControllerDescriptionsWithStatuses
              */
-            NJointControllerStatusSeq getNJointControllerStatuses(const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerStatusSeq getNJointControllerStatuses(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Returns the description of the \ref NJointController.
@@ -107,7 +107,7 @@ namespace armarx
              * @see getNJointControllerDescriptionWithStatus
              * @see getNJointControllerDescriptionsWithStatuses
              */
-            NJointControllerDescription getNJointControllerDescription(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerDescription getNJointControllerDescription(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the description of all \ref NJointController "NJointControllers".
              * @return The description of all \ref NJointController "NJointControllers".
@@ -117,7 +117,7 @@ namespace armarx
              * @see getNJointControllerDescriptionsWithStatuses
              */
 
-            NJointControllerDescriptionSeq getNJointControllerDescriptions(const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerDescriptionSeq getNJointControllerDescriptions(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Returns the status and description of the \ref NJointController.
@@ -132,7 +132,7 @@ namespace armarx
              * @see getNJointControllerDescriptions
              */
             NJointControllerDescriptionWithStatus getNJointControllerDescriptionWithStatus(
-                const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+                const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the status and description of all \ref NJointController "NJointControllers".
              * @return The status and description of all \ref NJointController "NJointControllers".
@@ -144,7 +144,7 @@ namespace armarx
              * @see getNJointControllerDescription
              * @see getNJointControllerDescriptions
              */
-            NJointControllerDescriptionWithStatusSeq getNJointControllerDescriptionsWithStatuses(const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerDescriptionWithStatusSeq getNJointControllerDescriptionsWithStatuses(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief getNJointControllerClassDescription
@@ -152,19 +152,19 @@ namespace armarx
              * @return
              */
             NJointControllerClassDescription getNJointControllerClassDescription(
-                const std::string& className, const Ice::Current& = GlobalIceCurrent) const override;
+                const std::string& className, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief getNJointControllerClassDescriptions
              * @return
              */
-            NJointControllerClassDescriptionSeq getNJointControllerClassDescriptions(const Ice::Current& = GlobalIceCurrent) const override;
+            NJointControllerClassDescriptionSeq getNJointControllerClassDescriptions(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Loads the given lib. (calls `getArmarXManager()->loadLibFromPath(path)`)
              * @param path Path to the lib to load.
              * @return Whether loading the lib was successful.
              * @see ArmarXManager::loadLibFromPath
              */
-            bool loadLibFromPath(const std::string& path, const Ice::Current& = GlobalIceCurrent) override;
+            bool loadLibFromPath(const std::string& path, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Loads the given lib. (calls `getArmarXManager()->loadLibFromPath(package, lib)`)
              * @param package The armarx package containing the lib
@@ -172,27 +172,27 @@ namespace armarx
              * @return Whether loading the lib was successful.
              * @see ArmarXManager::loadLibFromPackage
              */
-            bool loadLibFromPackage(const std::string& package, const std::string& lib, const Ice::Current& = GlobalIceCurrent) override;
+            bool loadLibFromPackage(const std::string& package, const std::string& lib, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Returns the names of all available classes of \ref NJointController.
              * @return The names of all available classes of \ref NJointController.
              */
-            Ice::StringSeq getNJointControllerClassNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getNJointControllerClassNames(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the names of all \ref NJointController "NJointControllers"
              * @return The names of all \ref NJointController "NJointControllers"
              */
-            Ice::StringSeq getNJointControllerNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getNJointControllerNames(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the names of all requested \ref NJointController "NJointControllers"
              * @return The names of all requested \ref NJointController "NJointControllers"
              */
-            Ice::StringSeq getRequestedNJointControllerNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getRequestedNJointControllerNames(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the names of all activated \ref NJointController "NJointControllers"
              * @return The names of all activated \ref NJointController "NJointControllers"
              */
-            Ice::StringSeq getActivatedNJointControllerNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getActivatedNJointControllerNames(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Queues the given \ref NJointController for deletion.
@@ -201,7 +201,7 @@ namespace armarx
              * @see nJointControllersToBeDeleted
              * @see deleteNJointControllers
              */
-            void deleteNJointController(const std::string& name, const Ice::Current& = GlobalIceCurrent) override;
+            void deleteNJointController(const std::string& name, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Queues the given \ref NJointController "NJointControllers" for deletion.
              * @param names The \ref NJointController "NJointControllers" to delete.
@@ -209,7 +209,7 @@ namespace armarx
              * @see nJointControllersToBeDeleted
              * @see deleteNJointController
              */
-            void deleteNJointControllers(const Ice::StringSeq& names, const Ice::Current& = GlobalIceCurrent) override;
+            void deleteNJointControllers(const Ice::StringSeq& names, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Queues the given \ref NJointController for deletion and deactivates it if necessary.
              * @param name The \ref NJointController to delete.
@@ -219,7 +219,7 @@ namespace armarx
              * @see deleteNJointControllers
              * @see deactivateAnddeleteNJointControllers
              */
-            void deactivateAndDeleteNJointController(const std::string& name, const Ice::Current& = GlobalIceCurrent) override;
+            void deactivateAndDeleteNJointController(const std::string& name, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Queues the given \ref NJointController "NJointControllers" for deletion and deactivates them if necessary.
              * @param names The \ref NJointController "NJointControllers" to delete.
@@ -236,26 +236,26 @@ namespace armarx
              * @param name The requested \ref NJointController.
              * @see activateNJointControllers
              */
-            void activateNJointController(const std::string& name, const Ice::Current& = GlobalIceCurrent) override;
+            void activateNJointController(const std::string& name, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Requests activation for the given \ref NJointController "NJointControllers".
              * @param names The requested \ref NJointController "NJointControllers".
              * @see activateNJointController
              */
-            void activateNJointControllers(const Ice::StringSeq& names, const Ice::Current& = GlobalIceCurrent) override;
+            void activateNJointControllers(const Ice::StringSeq& names, const Ice::Current& = Ice::emptyCurrent) override;
 
             /**
              * @brief Requests deactivation for the given \ref NJointController.
              * @param name The \ref NJointController to be deactivated.
              * @see deactivateNJointControllers
              */
-            void deactivateNJointController(const std::string& name, const Ice::Current& = GlobalIceCurrent) override;
+            void deactivateNJointController(const std::string& name, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Requests deactivation for the given \ref NJointController "NJointControllers".
              * @param names The \ref NJointController "NJointControllers" to be deactivated.
              * @see deactivateNJointController
              */
-            void deactivateNJointControllers(const Ice::StringSeq& names, const Ice::Current& = GlobalIceCurrent) override;
+            void deactivateNJointControllers(const Ice::StringSeq& names, const Ice::Current& = Ice::emptyCurrent) override;
 
             /**
              * @brief Cretes a \ref NJointController.
@@ -266,7 +266,7 @@ namespace armarx
              */
             NJointControllerInterfacePrx createNJointController(
                 const std::string& className, const std::string& instanceName,
-                const NJointControllerConfigPtr& config, const Ice::Current& = GlobalIceCurrent) override;
+                const NJointControllerConfigPtr& config, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Cretes a \ref NJointController.
              * @param className The \ref NJointController's class.
@@ -276,13 +276,13 @@ namespace armarx
              */
             NJointControllerInterfacePrx createNJointControllerFromVariantConfig(
                 const std::string& className, const std::string& instanceName,
-                const StringVariantBaseMap& variants, const Ice::Current& = GlobalIceCurrent) override;
+                const StringVariantBaseMap& variants, const Ice::Current& = Ice::emptyCurrent) override;
 
             /**
              * @brief Changes the set of requested \ref NJointController "NJointControllers" to the given set.
              * @param newSetup The new set of requested \ref NJointController "NJointControllers"
              */
-            void switchNJointControllerSetup(const Ice::StringSeq& newSetup, const Ice::Current& = GlobalIceCurrent) override;
+            void switchNJointControllerSetup(const Ice::StringSeq& newSetup, const Ice::Current& = Ice::emptyCurrent) override;
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // /////////////////////////////////// Module interface /////////////////////////////////// //
             // //////////////////////////////////////////////////////////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleDevices.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleDevices.h
index f8fae7385..490059fa6 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleDevices.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleDevices.h
@@ -97,7 +97,7 @@ namespace armarx
              * @brief Returns the names of all \ref ControlDevice "ControlDevices" for the robot.
              * @return The names of all \ref ControlDevice "ControlDevices" for the robot.
              */
-            Ice::StringSeq getControlDeviceNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getControlDeviceNames(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Return the \ref ControlDeviceDescription for the given \ref ControlDevice
@@ -106,14 +106,14 @@ namespace armarx
              * @see ControlDeviceDescription
              * @see getControlDeviceDescriptions
              */
-            ControlDeviceDescription getControlDeviceDescription(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            ControlDeviceDescription getControlDeviceDescription(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Return the \ref ControlDeviceDescription "ControlDeviceDescriptions" for all \ref ControlDevice "ControlDevices"
              * @return The \ref ControlDeviceDescription "ControlDeviceDescriptions"
              * @see ControlDeviceDescription
              * @see getControlDeviceDescription
              */
-            ControlDeviceDescriptionSeq getControlDeviceDescriptions(const Ice::Current& = GlobalIceCurrent) const override;
+            ControlDeviceDescriptionSeq getControlDeviceDescriptions(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Return the \ref ControlDeviceStatus for the given \ref ControlDevice
@@ -122,20 +122,20 @@ namespace armarx
              * @see ControlDeviceStatus
              * @see getControlDeviceStatuses
              */
-            ControlDeviceStatus getControlDeviceStatus(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            ControlDeviceStatus getControlDeviceStatus(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Return the \ref ControlDeviceStatus "ControlDeviceStatuses" for all \ref ControlDevice "ControlDevices"
              * @return The \ref ControlDeviceStatus "ControlDeviceStatuses"
              * @see ControlDeviceStatus
              * @see getControlDeviceStatus
              */
-            ControlDeviceStatusSeq getControlDeviceStatuses(const Ice::Current& = GlobalIceCurrent) const override;
+            ControlDeviceStatusSeq getControlDeviceStatuses(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Returns the names of all \ref SensorDevice "SensorDevices" for the robot.
              * @return The names of all \ref SensorDevice "ControlDevices" for the robot.
              */
-            Ice::StringSeq getSensorDeviceNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getSensorDeviceNames(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Return the \ref SensorDeviceDescription for the given \ref SensorDevice
@@ -144,14 +144,14 @@ namespace armarx
              * @see SensorDeviceDescription
              * @see getSensorDeviceDescriptions
              */
-            SensorDeviceDescription getSensorDeviceDescription(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            SensorDeviceDescription getSensorDeviceDescription(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Return the \ref SensorDeviceDescription "SensorDeviceDescriptions" for all \ref SensorDevice "SensorDevices"
              * @return The \ref SensorDeviceDescription "SensorDeviceDescriptions"
              * @see SensorDeviceDescription
              * @see getSensorDeviceDescription
              */
-            SensorDeviceDescriptionSeq getSensorDeviceDescriptions(const Ice::Current& = GlobalIceCurrent) const override;
+            SensorDeviceDescriptionSeq getSensorDeviceDescriptions(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Return the \ref SensorDeviceStatus for the given \ref SensorDevice
@@ -160,14 +160,14 @@ namespace armarx
              * @see SensorDeviceStatus
              * @see getSensorDeviceStatuses
              */
-            SensorDeviceStatus getSensorDeviceStatus(const std::string& name, const Ice::Current& = GlobalIceCurrent) const override;
+            SensorDeviceStatus getSensorDeviceStatus(const std::string& name, const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Return the \ref SensorDeviceStatus "SensorDeviceStatuses" for all \ref SensorDevice "SensorDevices"
              * @return The \ref SensorDeviceStatus "SensorDeviceStatuses"
              * @see SensorDeviceStatus
              * @see getSensorDeviceStatus
              */
-            SensorDeviceStatusSeq getSensorDeviceStatuses(const Ice::Current& = GlobalIceCurrent) const override;
+            SensorDeviceStatusSeq getSensorDeviceStatuses(const Ice::Current& = Ice::emptyCurrent) const override;
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // /////////////////////////////////// Module interface /////////////////////////////////// //
             // //////////////////////////////////////////////////////////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
index d5db6382a..2906c1342 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.cpp
@@ -53,7 +53,7 @@ namespace armarx
             {
                 alias.emplace(name, "");
             }
-            return startRtLoggingWithAliasNames(formatString, alias, GlobalIceCurrent);
+            return startRtLoggingWithAliasNames(formatString, alias, Ice::emptyCurrent);
         }
 
         void Logging::stopRtLogging(const RemoteReferenceCounterBasePtr& token, const Ice::Current&)
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.h
index c583a459c..4207da6dd 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleLogging.h
@@ -118,7 +118,7 @@ namespace armarx
              * @param loggingNames The data fields to log.
              * @return A handle to the log. If it's last copy is deleted, logging is stopped.
              */
-            RemoteReferenceCounterBasePtr startRtLogging(const std::string& formatString, const Ice::StringSeq& loggingNames, const Ice::Current& = GlobalIceCurrent) override;
+            RemoteReferenceCounterBasePtr startRtLogging(const std::string& formatString, const Ice::StringSeq& loggingNames, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Starts logging to a CSV file
              * @param formatString The file to log to.
@@ -126,31 +126,31 @@ namespace armarx
              * If value is empty, key is used as heading.
              * @return A handle to the log. If it's last copy is deleted, logging is stopped.
              */
-            RemoteReferenceCounterBasePtr startRtLoggingWithAliasNames(const std::string& formatString, const StringStringDictionary& aliasNames, const Ice::Current&   = GlobalIceCurrent) override;
+            RemoteReferenceCounterBasePtr startRtLoggingWithAliasNames(const std::string& formatString, const StringStringDictionary& aliasNames, const Ice::Current&   = Ice::emptyCurrent) override;
 
             /**
              * @brief Stops logging to the given log.
              * @param token The log to close.
              */
-            void stopRtLogging(const armarx::RemoteReferenceCounterBasePtr& token, const Ice::Current& = GlobalIceCurrent) override;
+            void stopRtLogging(const armarx::RemoteReferenceCounterBasePtr& token, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Adds a string to the log (it is added in a special column).
              * @param token The log.
              * @param marker The string to add.
              */
-            void addMarkerToRtLog(const RemoteReferenceCounterBasePtr& token, const std::string& marker, const Ice::Current& = GlobalIceCurrent) override;
+            void addMarkerToRtLog(const RemoteReferenceCounterBasePtr& token, const std::string& marker, const Ice::Current& = Ice::emptyCurrent) override;
 
             /**
              * @brief Returns the names of all loggable data fields.
              * @return The names of all loggable data fields.
              */
-            Ice::StringSeq getLoggingNames(const Ice::Current& = GlobalIceCurrent) const override;
+            Ice::StringSeq getLoggingNames(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
               * @brief Dumps the backlog of all recent iterations to the given file.
               * This helps debugging.
               * @param formatString The file.
               */
-            void writeRecentIterationsToFile(const std::string& formatString, const Ice::Current& = GlobalIceCurrent) const override;
+            void writeRecentIterationsToFile(const std::string& formatString, const Ice::Current& = Ice::emptyCurrent) const override;
 
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // //////////////////////////////////// implementation //////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleManagement.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleManagement.h
index 5f42dee92..a6653bacf 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleManagement.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleManagement.h
@@ -87,7 +87,7 @@ namespace armarx
              * @brief Returns whether the RobotUnit is running.
              * @return Whether the RobotUnit is running.
              */
-            bool isRunning(const Ice::Current& = GlobalIceCurrent) const override
+            bool isRunning(const Ice::Current& = Ice::emptyCurrent) const override
             {
                 throwIfInControlThread(BOOST_CURRENT_FUNCTION);
                 return getRobotUnitState() == RobotUnitState::Running;
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
index 1e1b3f489..a10ed61e2 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModulePublisher.h
@@ -116,33 +116,33 @@ namespace armarx
              * @brief Returns the name of the used DebugDrawerTopic
              * @return The name of the used DebugDrawerTopic
              */
-            std::string getDebugDrawerTopicName(const Ice::Current& = GlobalIceCurrent) const override;
+            std::string getDebugDrawerTopicName(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the name of the used DebugObserverTopic
              * @return The name of the used DebugObserverTopic
              */
-            std::string getDebugObserverTopicName(const Ice::Current& = GlobalIceCurrent) const override;
+            std::string getDebugObserverTopicName(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the name of the used RobotUnitListenerTopic
              * @return The name of the used RobotUnitListenerTopic
              */
-            std::string getRobotUnitListenerTopicName(const Ice::Current& = GlobalIceCurrent) const override;
+            std::string getRobotUnitListenerTopicName(const Ice::Current& = Ice::emptyCurrent) const override;
 
             /**
              * @brief Returns the used DebugDrawerProxy
              * @return The used DebugDrawerProxy
              */
-            DebugDrawerInterfacePrx getDebugDrawerProxy(const Ice::Current& = GlobalIceCurrent) const override;
+            DebugDrawerInterfacePrx getDebugDrawerProxy(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the used RobotUnitListenerProxy
              * @return The used RobotUnitListenerProxy
              */
-            RobotUnitListenerPrx getRobotUnitListenerProxy(const Ice::Current& = GlobalIceCurrent) const override;
+            RobotUnitListenerPrx getRobotUnitListenerProxy(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the used DebugObserverProxy
              * @return The used DebugObserverProxy
              */
-            DebugObserverInterfacePrx getDebugObserverProxy(const Ice::Current& = GlobalIceCurrent) const override;
+            DebugObserverInterfacePrx getDebugObserverProxy(const Ice::Current& = Ice::emptyCurrent) const override;
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // /////////////////////////////////// Module interface /////////////////////////////////// //
             // //////////////////////////////////////////////////////////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleSelfCollisionChecker.h b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleSelfCollisionChecker.h
index 001b5a8ba..e2a9d9c3e 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleSelfCollisionChecker.h
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleSelfCollisionChecker.h
@@ -97,28 +97,28 @@ namespace armarx
              * @brief Sets the minimal distance (mm) between a configured pair of bodies to 'distance'.
              * @param distance The minimal distance (mm) between a pair of bodies.
              */
-            void setSelfCollisionAvoidanceDistance(Ice::Float distance, const Ice::Current& = GlobalIceCurrent) override;
+            void setSelfCollisionAvoidanceDistance(Ice::Float distance, const Ice::Current& = Ice::emptyCurrent) override;
             /**
              * @brief Sets the frequency of self collision checks.
              * @param freq The frequency of self collision checks.
              */
-            void setSelfCollisionAvoidanceFrequency(Ice::Float freq, const Ice::Current& = GlobalIceCurrent) override;
+            void setSelfCollisionAvoidanceFrequency(Ice::Float freq, const Ice::Current& = Ice::emptyCurrent) override;
 
             /**
              * @brief Returns whether the frequency of self collision checks is above 0.
              * @return Whether the frequency of self collision checks is above 0.
              */
-            bool isSelfCollisionCheckEnabled(const Ice::Current& = GlobalIceCurrent) const override;
+            bool isSelfCollisionCheckEnabled(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the frequency of self collision checks.
              * @return The frequency of self collision checks.
              */
-            float getSelfCollisionAvoidanceFrequency(const Ice::Current& = GlobalIceCurrent) const override;
+            float getSelfCollisionAvoidanceFrequency(const Ice::Current& = Ice::emptyCurrent) const override;
             /**
              * @brief Returns the minimal distance (mm) between a pair of bodies.
              * @return The minimal distance (mm) between a pair of bodies.
              */
-            float getSelfCollisionAvoidanceDistance(const Ice::Current& = GlobalIceCurrent) const override;
+            float getSelfCollisionAvoidanceDistance(const Ice::Current& = Ice::emptyCurrent) const override;
             // //////////////////////////////////////////////////////////////////////////////////////// //
             // //////////////////////////////////// implementation //////////////////////////////////// //
             // //////////////////////////////////////////////////////////////////////////////////////// //
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
index 3e06a5d25..be1150801 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
@@ -73,7 +73,7 @@ namespace armarx
                 ARMARX_CHECK_EXPRESSION(!emergencyStopTopicName.empty());
             }
 
-            void setEmergencyStopState(EmergencyStopState state, const Ice::Current& = GlobalIceCurrent) final override
+            void setEmergencyStopState(EmergencyStopState state, const Ice::Current& = Ice::emptyCurrent) final override
             {
                 if (getEmergencyStopState() == state)
                 {
@@ -82,7 +82,7 @@ namespace armarx
                 ControlThreadAttorneyForRobotUnitEmergencyStopMaster::SetEmergencyStopStateNoReportToTopic(controlThreadModule, state);
                 emergencyStopTopic->reportEmergencyStopState(state);
             }
-            EmergencyStopState getEmergencyStopState(const Ice::Current& = GlobalIceCurrent) const final override
+            EmergencyStopState getEmergencyStopState(const Ice::Current& = Ice::emptyCurrent) const final override
             {
                 return controlThreadModule->getEmergencyStopState();
             }
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.ipp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.ipp
index c9e6e111e..a25217408 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.ipp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.ipp
@@ -75,7 +75,7 @@ namespace armarx
         inline typename T::ProxyType Units::getUnitPrx() const
         {
             throwIfInControlThread(BOOST_CURRENT_FUNCTION);
-            return T::ProxyType::uncheckedCast(getUnit(T::ice_staticId(), GlobalIceCurrent));
+            return T::ProxyType::uncheckedCast(getUnit(T::ice_staticId(), Ice::emptyCurrent));
         }
 
         inline KinematicUnitInterfacePtr Units::getKinematicUnit() const
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/ForceTorqueSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/ForceTorqueSubUnit.h
index 8c7ebd655..eb11819df 100644
--- a/source/RobotAPI/components/units/RobotUnit/Units/ForceTorqueSubUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/Units/ForceTorqueSubUnit.h
@@ -39,8 +39,8 @@ namespace armarx
         void update(const SensorAndControl& sc, const JointAndNJointControllers& c) override;
 
         // ForceTorqueUnitInterface interface
-        void setOffset(const FramedDirectionBasePtr&, const FramedDirectionBasePtr&,  const Ice::Current& = GlobalIceCurrent) override;
-        void setToNull(const Ice::Current& = GlobalIceCurrent) override;
+        void setOffset(const FramedDirectionBasePtr&, const FramedDirectionBasePtr&,  const Ice::Current& = Ice::emptyCurrent) override;
+        void setToNull(const Ice::Current& = Ice::emptyCurrent) override;
 
         // ForceTorqueUnit interface
         void onInitForceTorqueUnit()  override;
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
index a6826e2ba..bac5190ed 100644
--- a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
@@ -49,20 +49,20 @@ namespace armarx
         void update(const SensorAndControl& sc, const JointAndNJointControllers& c) override;
 
         // PlatformUnitInterface interface
-        void move(Ice::Float vx, Ice::Float vy, Ice::Float vr,  const Ice::Current& = GlobalIceCurrent) override;
-        void moveTo(Ice::Float rx, Ice::Float ry, Ice::Float rr, Ice::Float lac, Ice::Float rac,  const Ice::Current& = GlobalIceCurrent) override;
-        void moveRelative(Ice::Float rx, Ice::Float ry, Ice::Float rr, Ice::Float lac, Ice::Float rac,  const Ice::Current& = GlobalIceCurrent) override;
+        void move(Ice::Float vx, Ice::Float vy, Ice::Float vr,  const Ice::Current& = Ice::emptyCurrent) override;
+        void moveTo(Ice::Float rx, Ice::Float ry, Ice::Float rr, Ice::Float lac, Ice::Float rac,  const Ice::Current& = Ice::emptyCurrent) override;
+        void moveRelative(Ice::Float rx, Ice::Float ry, Ice::Float rr, Ice::Float lac, Ice::Float rac,  const Ice::Current& = Ice::emptyCurrent) override;
 
-        void setMaxVelocities(Ice::Float mxVLin, Ice::Float mxVAng,  const Ice::Current& = GlobalIceCurrent) override;
+        void setMaxVelocities(Ice::Float mxVLin, Ice::Float mxVAng,  const Ice::Current& = Ice::emptyCurrent) override;
 
-        virtual void setGlobalPose(PoseBasePtr globalPose,  const Ice::Current& = GlobalIceCurrent) /*override*/;
-        virtual PoseBasePtr getGlobalPose(const Ice::Current& = GlobalIceCurrent) /*override*/;
+        virtual void setGlobalPose(PoseBasePtr globalPose,  const Ice::Current& = Ice::emptyCurrent) /*override*/;
+        virtual PoseBasePtr getGlobalPose(const Ice::Current& = Ice::emptyCurrent) /*override*/;
 
         // PlatformUnit interface
         void onInitPlatformUnit()  override {}
         void onStartPlatformUnit() override {}
         void onExitPlatformUnit()  override {}
-        void stopPlatform(const Ice::Current& c = GlobalIceCurrent) override;
+        void stopPlatform(const Ice::Current& c = Ice::emptyCurrent) override;
 
         NJointHolonomicPlatformUnitVelocityPassThroughControllerPtr pt;
         NJointHolonomicPlatformRelativePositionControllerPtr relativePosCtrl;
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.cpp b/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.cpp
index ef3cb1009..b65d6f298 100644
--- a/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.cpp
@@ -208,7 +208,7 @@ void armarx::TCPControllerSubUnit::componentPropertiesUpdated(const std::set<std
             auto tcpController = NJointCartesianVelocityControllerWithRampPtr::dynamicCast(controller);
             if (tcpController)
             {
-                tcpController->setKpJointLimitAvoidance(avoidJointLimitsKp, GlobalIceCurrent);
+                tcpController->setKpJointLimitAvoidance(avoidJointLimitsKp, Ice::emptyCurrent);
             }
         }
     }
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.h
index 812578179..b834d2b8a 100644
--- a/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/Units/TCPControllerSubUnit.h
@@ -50,9 +50,9 @@ namespace armarx
         void setup(RobotUnit* rUnit, VirtualRobot::RobotPtr robot);
 
         // TCPControlUnitInterface interface
-        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = GlobalIceCurrent) override;
-        void setTCPVelocity(const std::string& nodeSetName, const std::string& tcpName, const::armarx::FramedDirectionBasePtr& translationVelocity, const::armarx::FramedDirectionBasePtr& orientationVelocityRPY, const Ice::Current& c = GlobalIceCurrent) override;
-        bool isRequested(const Ice::Current& = GlobalIceCurrent) override;
+        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = Ice::emptyCurrent) override;
+        void setTCPVelocity(const std::string& nodeSetName, const std::string& tcpName, const::armarx::FramedDirectionBasePtr& translationVelocity, const::armarx::FramedDirectionBasePtr& orientationVelocityRPY, const Ice::Current& c = Ice::emptyCurrent) override;
+        bool isRequested(const Ice::Current& = Ice::emptyCurrent) override;
 
         // RobotUnitSubUnit interface
         void update(const SensorAndControl& sc, const JointAndNJointControllers& c) override;
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/TrajectoryControllerSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/TrajectoryControllerSubUnit.h
index c672c6ce8..8ebe1925e 100644
--- a/source/RobotAPI/components/units/RobotUnit/Units/TrajectoryControllerSubUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/Units/TrajectoryControllerSubUnit.h
@@ -67,28 +67,28 @@ namespace armarx
     {
         // TrajectoryControllerSubUnitInterface interface
     public:
-        bool startTrajectoryPlayer(const Ice::Current& = GlobalIceCurrent) override;
-        bool pauseTrajectoryPlayer(const Ice::Current& = GlobalIceCurrent) override;
-        bool stopTrajectoryPlayer(const Ice::Current& = GlobalIceCurrent) override;
-        bool resetTrajectoryPlayer(bool moveToFrameZeroPose, const Ice::Current& = GlobalIceCurrent) override;
+        bool startTrajectoryPlayer(const Ice::Current& = Ice::emptyCurrent) override;
+        bool pauseTrajectoryPlayer(const Ice::Current& = Ice::emptyCurrent) override;
+        bool stopTrajectoryPlayer(const Ice::Current& = Ice::emptyCurrent) override;
+        bool resetTrajectoryPlayer(bool moveToFrameZeroPose, const Ice::Current& = Ice::emptyCurrent) override;
 
-        void loadJointTraj(const TrajectoryBasePtr& jointTraj, const Ice::Current& = GlobalIceCurrent) override;
-        void loadBasePoseTraj(const TrajectoryBasePtr& basePoseTraj, const Ice::Current& = GlobalIceCurrent) override;
+        void loadJointTraj(const TrajectoryBasePtr& jointTraj, const Ice::Current& = Ice::emptyCurrent) override;
+        void loadBasePoseTraj(const TrajectoryBasePtr& basePoseTraj, const Ice::Current& = Ice::emptyCurrent) override;
 
-        void setLoopPlayback(bool loop, const Ice::Current& = GlobalIceCurrent) override;
-        Ice::Double getEndTime(const Ice::Current& = GlobalIceCurrent) override;
-        Ice::Double getTrajEndTime(const Ice::Current& = GlobalIceCurrent) override;
-        Ice::Double getCurrentTime(const Ice::Current& = GlobalIceCurrent) override;
-        void setEndTime(Ice::Double, const Ice::Current& = GlobalIceCurrent) override;
+        void setLoopPlayback(bool loop, const Ice::Current& = Ice::emptyCurrent) override;
+        Ice::Double getEndTime(const Ice::Current& = Ice::emptyCurrent) override;
+        Ice::Double getTrajEndTime(const Ice::Current& = Ice::emptyCurrent) override;
+        Ice::Double getCurrentTime(const Ice::Current& = Ice::emptyCurrent) override;
+        void setEndTime(Ice::Double, const Ice::Current& = Ice::emptyCurrent) override;
 
         // Within the RobotUnit the NJointTrajectoryController is always in VelocityControl
-        void setIsVelocityControl(bool, const Ice::Current& = GlobalIceCurrent) override {}
+        void setIsVelocityControl(bool, const Ice::Current& = Ice::emptyCurrent) override {}
 
-        void setIsPreview(bool, const Ice::Current& = GlobalIceCurrent) override;
-        bool setJointsInUse(const std::string&, bool, const Ice::Current& = GlobalIceCurrent) override;
-        void enableRobotPoseUnit(bool, const Ice::Current& = GlobalIceCurrent) override;
+        void setIsPreview(bool, const Ice::Current& = Ice::emptyCurrent) override;
+        bool setJointsInUse(const std::string&, bool, const Ice::Current& = Ice::emptyCurrent) override;
+        void enableRobotPoseUnit(bool, const Ice::Current& = Ice::emptyCurrent) override;
 
-        void considerConstraints(bool, const Ice::Current& = GlobalIceCurrent) override;
+        void considerConstraints(bool, const Ice::Current& = Ice::emptyCurrent) override;
 
         // RobotUnitSubUnit interface
         void update(const SensorAndControl& sc, const JointAndNJointControllers& c) override;
diff --git a/source/RobotAPI/components/units/SensorActorUnit.h b/source/RobotAPI/components/units/SensorActorUnit.h
index e41418d70..bd6485fc6 100644
--- a/source/RobotAPI/components/units/SensorActorUnit.h
+++ b/source/RobotAPI/components/units/SensorActorUnit.h
@@ -59,7 +59,7 @@ namespace armarx
         *
         * \param c Ice context provided by the Ice framework
         */
-        void init(const Ice::Current& c = ::Ice::Current()) override;
+        void init(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
         * Set execution state to eStarted
@@ -71,7 +71,7 @@ namespace armarx
         *
         * \param c Ice context provided by the Ice framework
         */
-        void start(const Ice::Current& c = ::Ice::Current()) override;
+        void start(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
         * Set execution state to eStopped
@@ -83,7 +83,7 @@ namespace armarx
         *
         * \param c Ice context provided by the Ice framework
         */
-        void stop(const Ice::Current& c = ::Ice::Current()) override;
+        void stop(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
         * Retrieve current execution state
@@ -91,21 +91,21 @@ namespace armarx
         * \param c Ice context provided by the Ice framework
         * \return current execution state
         */
-        UnitExecutionState getExecutionState(const Ice::Current& c = ::Ice::Current()) override;
+        UnitExecutionState getExecutionState(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
         * Request exclusive access to current unit. Throws ResourceUnavailableException on error.
         *
         * \param c Ice context provided by the Ice framework
         */
-        void request(const Ice::Current& c = ::Ice::Current()) override;
+        void request(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
         * Release exclusive access to current unit. Throws ResourceUnavailableException on error.
         *
         * \param c Ice context provided by the Ice framework
         */
-        void release(const Ice::Current& c = ::Ice::Current()) override;
+        void release(const Ice::Current& c = Ice::emptyCurrent) override;
 
     protected:
         void onExitComponent() override;
diff --git a/source/RobotAPI/components/units/SpeechObserver.h b/source/RobotAPI/components/units/SpeechObserver.h
index 769677e27..8d2cfda58 100644
--- a/source/RobotAPI/components/units/SpeechObserver.h
+++ b/source/RobotAPI/components/units/SpeechObserver.h
@@ -1,6 +1,6 @@
 /*
  * This file is part of ArmarX.
- * 
+ *
  * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T),
  * Karlsruhe Institute of Technology (KIT), all rights reserved.
  *
@@ -41,8 +41,8 @@ namespace armarx
     };
 
     class SpeechObserver :
-            virtual public Observer,
-            virtual public SpeechObserverInterface
+        virtual public Observer,
+        virtual public SpeechObserverInterface
     {
     public:
         SpeechObserver();
@@ -58,9 +58,9 @@ namespace armarx
 
         void onInitObserver() override;
         void onConnectObserver() override;
-        virtual void reportState(armarx::TextToSpeechStateType state, const Ice::Current& = Ice::Current()) override;
-        virtual void reportText(const std::string& text, const Ice::Current& = Ice::Current()) override;
-        virtual void reportTextWithParams(const std::string& text, const Ice::StringSeq& params, const Ice::Current& = Ice::Current()) override;
+        virtual void reportState(armarx::TextToSpeechStateType state, const Ice::Current& = Ice::emptyCurrent) override;
+        virtual void reportText(const std::string& text, const Ice::Current& = Ice::emptyCurrent) override;
+        virtual void reportTextWithParams(const std::string& text, const Ice::StringSeq& params, const Ice::Current& = Ice::emptyCurrent) override;
 
         static std::string SpeechStateToString(TextToSpeechStateType state);
     private:
diff --git a/source/RobotAPI/components/units/TCPControlUnit.h b/source/RobotAPI/components/units/TCPControlUnit.h
index ea2482ace..6d254bba5 100644
--- a/source/RobotAPI/components/units/TCPControlUnit.h
+++ b/source/RobotAPI/components/units/TCPControlUnit.h
@@ -93,7 +93,7 @@ namespace armarx
          * \param milliseconds New cycle time.
          * \param c Ice Context, leave blank.
          */
-        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = Ice::Current()) override;
+        void setCycleTime(Ice::Int milliseconds, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \brief Sets the cartesian velocity of a node in a nodeset for translation and/or orientation.
@@ -110,32 +110,32 @@ namespace armarx
          *
          * \see request(), release()
          */
-        void setTCPVelocity(const std::string& nodeSetName, const std::string& tcpName, const::armarx::FramedDirectionBasePtr& translationVelocity, const::armarx::FramedDirectionBasePtr& orientationVelocityRPY, const Ice::Current& c = Ice::Current()) override;
+        void setTCPVelocity(const std::string& nodeSetName, const std::string& tcpName, const::armarx::FramedDirectionBasePtr& translationVelocity, const::armarx::FramedDirectionBasePtr& orientationVelocityRPY, const Ice::Current& c = Ice::emptyCurrent) override;
 
         // UnitExecutionManagementInterface interface
         /**
          * \brief Does not do anything at the moment.
          * \param c
          */
-        void init(const Ice::Current& c = Ice::Current()) override;
+        void init(const Ice::Current& c = Ice::emptyCurrent) override;
         /**
          * \brief Does not do anything at the moment.
          * \param c
          */
-        void start(const Ice::Current& c = Ice::Current()) override;
+        void start(const Ice::Current& c = Ice::emptyCurrent) override;
         /**
          * \brief Does not do anything at the moment.
          * \param c
          */
-        void stop(const Ice::Current& c = Ice::Current()) override;
-        UnitExecutionState getExecutionState(const Ice::Current& c = Ice::Current()) override;
+        void stop(const Ice::Current& c = Ice::emptyCurrent) override;
+        UnitExecutionState getExecutionState(const Ice::Current& c = Ice::emptyCurrent) override;
 
         // UnitResourceManagementInterface interface
         /**
          * \brief Triggers the calculation loop for using cartesian velocity. Call once before/after setting a tcp velocity with SetTCPVelocity.
          * \param c Ice Context, leave blank.
          */
-        void request(const Ice::Current& c = Ice::Current()) override;
+        void request(const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * \brief Releases and stops the recalculation and updating of joint velocities.
@@ -143,9 +143,9 @@ namespace armarx
          * all node set will be deleted in this function.
          * \param c Ice Context, leave blank.
          */
-        void release(const Ice::Current& c = Ice::Current()) override;
+        void release(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        bool isRequested(const Ice::Current& c = Ice::Current()) override;
+        bool isRequested(const Ice::Current& c = Ice::emptyCurrent) override;
 
     protected:
 
diff --git a/source/RobotAPI/components/units/TCPControlUnitObserver.h b/source/RobotAPI/components/units/TCPControlUnitObserver.h
index e62e4377e..88cdf43c3 100644
--- a/source/RobotAPI/components/units/TCPControlUnitObserver.h
+++ b/source/RobotAPI/components/units/TCPControlUnitObserver.h
@@ -73,8 +73,8 @@ namespace armarx
 
     public:
         // TCPControlUnitListener interface
-        void reportTCPPose(const FramedPoseBaseMap& poseMap, const Ice::Current& c = Ice::Current()) override;
-        void reportTCPVelocities(const FramedDirectionMap& tcpTranslationVelocities, const FramedDirectionMap& tcpOrientationVelocities, const Ice::Current& c = Ice::Current()) override;
+        void reportTCPPose(const FramedPoseBaseMap& poseMap, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportTCPVelocities(const FramedDirectionMap& tcpTranslationVelocities, const FramedDirectionMap& tcpOrientationVelocities, const Ice::Current& c = Ice::emptyCurrent) override;
 
         Mutex dataMutex;
     };
diff --git a/source/RobotAPI/components/units/relays/ForceTorqueUnitListenerRelay.h b/source/RobotAPI/components/units/relays/ForceTorqueUnitListenerRelay.h
index 13d21373f..22497a711 100644
--- a/source/RobotAPI/components/units/relays/ForceTorqueUnitListenerRelay.h
+++ b/source/RobotAPI/components/units/relays/ForceTorqueUnitListenerRelay.h
@@ -33,7 +33,7 @@ namespace armarx
         using CallbackFunctionSensorValues = std::function<void(const std::string&, const FramedDirectionBasePtr&, const FramedDirectionBasePtr&)>;
 
         // ForceTorqueUnitListener interface
-        void reportSensorValues(const std::string& sensorNodeName, const FramedDirectionBasePtr& forces, const FramedDirectionBasePtr& torques, const Ice::Current& = GlobalIceCurrent) override
+        void reportSensorValues(const std::string& sensorNodeName, const FramedDirectionBasePtr& forces, const FramedDirectionBasePtr& torques, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportSensorValues(sensorNodeName, forces, torques);
         }
diff --git a/source/RobotAPI/components/units/relays/InertialMeasurementUnitListenerRelay.h b/source/RobotAPI/components/units/relays/InertialMeasurementUnitListenerRelay.h
index 3443d1f1d..8a305eb62 100644
--- a/source/RobotAPI/components/units/relays/InertialMeasurementUnitListenerRelay.h
+++ b/source/RobotAPI/components/units/relays/InertialMeasurementUnitListenerRelay.h
@@ -33,7 +33,7 @@ namespace armarx
         using CallbackFunctionSensorValues = std::function<void(const std::string&, const std::string&, const IMUData&, const TimestampBasePtr&)>;
 
         // InertialMeasurementUnitListener interface
-        void reportSensorValues(const std::string& device, const std::string& name, const IMUData& values, const TimestampBasePtr& timestamp, const Ice::Current& = GlobalIceCurrent) override
+        void reportSensorValues(const std::string& device, const std::string& name, const IMUData& values, const TimestampBasePtr& timestamp, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportSensorValues(device, name, values, timestamp);
         }
diff --git a/source/RobotAPI/components/units/relays/KinematicUnitListenerRelay.h b/source/RobotAPI/components/units/relays/KinematicUnitListenerRelay.h
index 91e2d5189..c653ba682 100644
--- a/source/RobotAPI/components/units/relays/KinematicUnitListenerRelay.h
+++ b/source/RobotAPI/components/units/relays/KinematicUnitListenerRelay.h
@@ -35,35 +35,35 @@ namespace armarx
         using CallbackFunctionValue = std::function<void(const NameValueMap&, Ice::Long, bool)>;
 
         // KinematicUnitListener interface
-        void reportControlModeChanged(const NameControlModeMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportControlModeChanged(const NameControlModeMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportControlModeChanged(map, time, changes);
         }
-        void reportJointAngles(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointAngles(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointAngles(map, time, changes);
         }
-        void reportJointVelocities(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointVelocities(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointVelocities(map, time, changes);
         }
-        void reportJointTorques(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointTorques(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointTorques(map, time, changes);
         }
-        void reportJointAccelerations(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointAccelerations(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointAccelerations(map, time, changes);
         }
-        void reportJointCurrents(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointCurrents(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointCurrents(map, time, changes);
         }
-        void reportJointMotorTemperatures(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointMotorTemperatures(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointMotorTemperatures(map, time, changes);
         }
-        void reportJointStatuses(const NameStatusMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent) override
+        void reportJointStatuses(const NameStatusMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent) override
         {
             callbackReportJointStatuses(map, time, changes);
         }
diff --git a/source/RobotAPI/components/units/relays/RobotStateListenerRelay.h b/source/RobotAPI/components/units/relays/RobotStateListenerRelay.h
index daf3cacd9..ab4bf2ac5 100644
--- a/source/RobotAPI/components/units/relays/RobotStateListenerRelay.h
+++ b/source/RobotAPI/components/units/relays/RobotStateListenerRelay.h
@@ -33,11 +33,11 @@ namespace armarx
         using CallbackFunctionValue = std::function<void(const NameValueMap&, Ice::Long, bool)>;
         using CallbackFunctionPose  = std::function<void(const FramedPoseBasePtr&, Ice::Long, bool)>;
 
-        virtual void reportJointValues(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent)
+        virtual void reportJointValues(const NameValueMap& map, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent)
         {
             callbackReportJointValues(map, time, changes);
         }
-        void reportGlobalRobotRootPose(const FramedPoseBasePtr& pose, Ice::Long time, bool changes, const Ice::Current& = GlobalIceCurrent)
+        void reportGlobalRobotRootPose(const FramedPoseBasePtr& pose, Ice::Long time, bool changes, const Ice::Current& = Ice::emptyCurrent)
         {
             callbackReportGlobalRobotRootPose(pose, time, changes);
         }
diff --git a/source/RobotAPI/gui-plugins/PlatformUnitPlugin/PlatformUnitGuiPlugin.h b/source/RobotAPI/gui-plugins/PlatformUnitPlugin/PlatformUnitGuiPlugin.h
index 9e63f997a..d20f2116b 100644
--- a/source/RobotAPI/gui-plugins/PlatformUnitPlugin/PlatformUnitGuiPlugin.h
+++ b/source/RobotAPI/gui-plugins/PlatformUnitPlugin/PlatformUnitGuiPlugin.h
@@ -118,9 +118,9 @@ namespace armarx
         void onExitComponent() override;
 
         // slice interface implementation
-        void reportPlatformPose(::Ice::Float currentPlatformPositionX, ::Ice::Float currentPlatformPositionY, ::Ice::Float currentPlatformRotation, const Ice::Current& c = ::Ice::Current()) override;
-        void reportNewTargetPose(::Ice::Float newPlatformPositionX, ::Ice::Float newPlatformPositionY, ::Ice::Float newPlatformRotation, const Ice::Current& c = ::Ice::Current()) override;
-        void reportPlatformVelocity(::Ice::Float currentPlatformVelocityX, ::Ice::Float currentPlatformVelocityY, ::Ice::Float currentPlatformVelocityRotation, const Ice::Current& c = ::Ice::Current()) override;
+        void reportPlatformPose(::Ice::Float currentPlatformPositionX, ::Ice::Float currentPlatformPositionY, ::Ice::Float currentPlatformRotation, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportNewTargetPose(::Ice::Float newPlatformPositionX, ::Ice::Float newPlatformPositionY, ::Ice::Float newPlatformRotation, const Ice::Current& c = Ice::emptyCurrent) override;
+        void reportPlatformVelocity(::Ice::Float currentPlatformVelocityX, ::Ice::Float currentPlatformVelocityY, ::Ice::Float currentPlatformVelocityRotation, const Ice::Current& c = Ice::emptyCurrent) override;
         void reportPlatformOdometryPose(Ice::Float, Ice::Float, Ice::Float, const Ice::Current&) override;
 
         // inherited of ArmarXWidget
diff --git a/source/RobotAPI/gui-plugins/ViewSelection/ViewSelectionWidgetController.h b/source/RobotAPI/gui-plugins/ViewSelection/ViewSelectionWidgetController.h
index 1b5f87d8b..67a6f2942 100644
--- a/source/RobotAPI/gui-plugins/ViewSelection/ViewSelectionWidgetController.h
+++ b/source/RobotAPI/gui-plugins/ViewSelection/ViewSelectionWidgetController.h
@@ -87,9 +87,9 @@ namespace armarx
 
         void configured() override;
 
-        void onActivateAutomaticViewSelection(const Ice::Current& c = Ice::Current()) override;
-        void onDeactivateAutomaticViewSelection(const Ice::Current& c = Ice::Current()) override;
-        void nextViewTarget(Ice::Long, const Ice::Current& c = Ice::Current()) override;
+        void onActivateAutomaticViewSelection(const Ice::Current& c = Ice::emptyCurrent) override;
+        void onDeactivateAutomaticViewSelection(const Ice::Current& c = Ice::emptyCurrent) override;
+        void nextViewTarget(Ice::Long, const Ice::Current& c = Ice::emptyCurrent) override;
 
         /**
          * Returns the Widget name displayed in the ArmarXGui to create an
diff --git a/source/RobotAPI/libraries/core/FramedOrientedPoint.h b/source/RobotAPI/libraries/core/FramedOrientedPoint.h
index 387ab6f4c..7f2231c17 100644
--- a/source/RobotAPI/libraries/core/FramedOrientedPoint.h
+++ b/source/RobotAPI/libraries/core/FramedOrientedPoint.h
@@ -79,16 +79,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new FramedOrientedPoint(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::FramedOrientedPoint;
         }
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -100,8 +100,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     };
 }
diff --git a/source/RobotAPI/libraries/core/FramedPose.h b/source/RobotAPI/libraries/core/FramedPose.h
index e847e6349..390396d22 100644
--- a/source/RobotAPI/libraries/core/FramedPose.h
+++ b/source/RobotAPI/libraries/core/FramedPose.h
@@ -110,16 +110,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new FramedDirection(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::FramedDirection;
         }
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -131,8 +131,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     private:
         static Eigen::Matrix4f __GetRotationBetweenFrames(const std::string& oldFrame, const std::string& newFrame, VirtualRobot::RobotPtr robotState);
@@ -194,16 +194,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new FramedPosition(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::FramedPosition;
         }
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -215,8 +215,8 @@ namespace armarx
         };
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
     };
 
     class FramedOrientation;
@@ -246,16 +246,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new FramedOrientation(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::FramedOrientation;
         }
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -280,8 +280,8 @@ namespace armarx
         };
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
     };
 
 
@@ -314,19 +314,19 @@ namespace armarx
             return this->clone();
         }
 
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new FramedPose(*this);
         }
 
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
 
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::FramedPose;
         }
 
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -355,8 +355,8 @@ namespace armarx
         static VirtualRobot::LinkedCoordinate createLinkedCoordinate(const VirtualRobot::RobotPtr& virtualRobot, const FramedPositionPtr& position, const FramedOrientationPtr& orientation);
 
     public:
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     };
 
diff --git a/source/RobotAPI/libraries/core/LinkedPose.h b/source/RobotAPI/libraries/core/LinkedPose.h
index d6cb56ea4..414309200 100644
--- a/source/RobotAPI/libraries/core/LinkedPose.h
+++ b/source/RobotAPI/libraries/core/LinkedPose.h
@@ -81,15 +81,15 @@ namespace armarx
         // inherited from VariantDataClass
         Ice::ObjectPtr ice_clone() const override;
 
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override;
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
 
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
 
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
 
-        bool validate(const Ice::Current& c = ::Ice::Current()) override;
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        void changeFrame(const std::string& newFrame, const Ice::Current& c = ::Ice::Current()) override;
+        void changeFrame(const std::string& newFrame, const Ice::Current& c = Ice::emptyCurrent) override;
         void changeToGlobal();
         LinkedPosePtr toGlobal() const;
 
@@ -99,8 +99,8 @@ namespace armarx
             return stream;
         };
 
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
     protected:
 
         void ice_postUnmarshal() override;
@@ -126,7 +126,7 @@ namespace armarx
 
         ~LinkedDirection() override;
 
-        void changeFrame(const std::string& newFrame, const Ice::Current& c = Ice::Current()) override;
+        void changeFrame(const std::string& newFrame, const Ice::Current& c = Ice::emptyCurrent) override;
 
         // inherited from VariantDataClass
         Ice::ObjectPtr ice_clone() const override
@@ -134,24 +134,24 @@ namespace armarx
             return this->clone();
         }
 
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new LinkedDirection(*this);
         }
 
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             std::stringstream s;
             s << FramedDirection::toEigen() << std::endl << "reference robot: " << referenceRobot;
             return s.str();
         }
 
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::LinkedDirection;
         }
 
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -163,8 +163,8 @@ namespace armarx
             return stream;
         };
 
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     protected:
 
diff --git a/source/RobotAPI/libraries/core/OrientedPoint.h b/source/RobotAPI/libraries/core/OrientedPoint.h
index 6d1ed992b..4bb8955e8 100644
--- a/source/RobotAPI/libraries/core/OrientedPoint.h
+++ b/source/RobotAPI/libraries/core/OrientedPoint.h
@@ -55,16 +55,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new OrientedPoint(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& c = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return VariantType::OrientedPoint;
         }
-        bool validate(const Ice::Current& c = ::Ice::Current()) override
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -76,8 +76,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
     };
 
     using OrientedPointPtr = IceInternal::Handle<OrientedPoint>;
diff --git a/source/RobotAPI/libraries/core/Pose.h b/source/RobotAPI/libraries/core/Pose.h
index 3478c2384..acd23ad09 100644
--- a/source/RobotAPI/libraries/core/Pose.h
+++ b/source/RobotAPI/libraries/core/Pose.h
@@ -69,16 +69,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return new Vector2(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return VariantType::Vector2;
         }
-        bool validate(const Ice::Current& = ::Ice::Current()) override
+        bool validate(const Ice::Current& = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -90,8 +90,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     };
 
@@ -121,16 +121,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& c = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override
         {
             return new Vector3(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return VariantType::Vector3;
         }
-        bool validate(const Ice::Current& = ::Ice::Current()) override
+        bool validate(const Ice::Current& = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -143,8 +143,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
     };
 
     using Vector3Ptr = IceInternal::Handle<Vector3>;
@@ -179,16 +179,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return new Quaternion(*this);
         }
-        std::string output(const Ice::Current& c = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& = ::Ice::Current()) const override
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return VariantType::Quaternion;
         }
-        bool validate(const Ice::Current& = ::Ice::Current()) override
+        bool validate(const Ice::Current& = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -201,8 +201,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     private:
         void init(const Eigen::Matrix3f&);
@@ -236,16 +236,16 @@ namespace armarx
         {
             return this->clone();
         }
-        VariantDataClassPtr clone(const Ice::Current& = ::Ice::Current()) const override
+        VariantDataClassPtr clone(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return new Pose(*this);
         }
-        std::string output(const Ice::Current& = ::Ice::Current()) const override;
-        VariantTypeId getType(const Ice::Current& = ::Ice::Current()) const override
+        std::string output(const Ice::Current& = Ice::emptyCurrent) const override;
+        VariantTypeId getType(const Ice::Current& = Ice::emptyCurrent) const override
         {
             return VariantType::Pose;
         }
-        bool validate(const Ice::Current& = ::Ice::Current()) override
+        bool validate(const Ice::Current& = Ice::emptyCurrent) override
         {
             return true;
         }
@@ -257,8 +257,8 @@ namespace armarx
         }
 
     public: // serialization
-        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) const override;
-        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = ::Ice::Current()) override;
+        void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
 
     protected:
         void init();
diff --git a/source/RobotAPI/libraries/core/Trajectory.h b/source/RobotAPI/libraries/core/Trajectory.h
index 10099dac8..f4e02ebe1 100644
--- a/source/RobotAPI/libraries/core/Trajectory.h
+++ b/source/RobotAPI/libraries/core/Trajectory.h
@@ -411,15 +411,15 @@ namespace armarx
         void ice_postUnmarshal() override;
 
         // Serializable interface
-        void serialize(const ObjectSerializerBasePtr& obj, const Ice::Current& = Ice::Current()) const override;
-        void deserialize(const ObjectSerializerBasePtr&, const Ice::Current& = Ice::Current()) override;
+        void serialize(const ObjectSerializerBasePtr& obj, const Ice::Current& = Ice::emptyCurrent) const override;
+        void deserialize(const ObjectSerializerBasePtr&, const Ice::Current& = Ice::emptyCurrent) override;
 
         // VariantDataClass interface
-        VariantDataClassPtr clone(const Ice::Current& c = Ice::Current()) const override;
+        VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
         TrajectoryPtr cloneMetaData() const;
-        std::string output(const Ice::Current& c = Ice::Current()) const override;
-        Ice::Int getType(const Ice::Current& c = Ice::Current()) const override;
-        bool validate(const Ice::Current& c = Ice::Current()) override;
+        std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
+        Ice::Int getType(const Ice::Current& c = Ice::emptyCurrent) const override;
+        bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
 
         Ice::ObjectPtr ice_clone() const override;
 
diff --git a/source/RobotAPI/libraries/core/observerfilters/OffsetFilter.h b/source/RobotAPI/libraries/core/observerfilters/OffsetFilter.h
index de3c5eea8..b5f668bae 100644
--- a/source/RobotAPI/libraries/core/observerfilters/OffsetFilter.h
+++ b/source/RobotAPI/libraries/core/observerfilters/OffsetFilter.h
@@ -54,7 +54,7 @@ namespace armarx
 
             // DatafieldFilterBase interface
         public:
-            VariantBasePtr calculate(const Ice::Current& c = Ice::Current()) const override
+            VariantBasePtr calculate(const Ice::Current& c = Ice::emptyCurrent) const override
             {
 
                 ScopedLock lock(historyMutex);
diff --git a/source/RobotAPI/statecharts/operations/RobotControl.h b/source/RobotAPI/statecharts/operations/RobotControl.h
index 78f9a394c..7aca952c7 100644
--- a/source/RobotAPI/statecharts/operations/RobotControl.h
+++ b/source/RobotAPI/statecharts/operations/RobotControl.h
@@ -76,7 +76,7 @@ namespace armarx
         void onExitRemoteStateOfferer() override;
         void startRobotStatechart();
 
-        void hardReset(const Ice::Current& = ::Ice::Current()) override;
+        void hardReset(const Ice::Current& = Ice::emptyCurrent) override;
 
         PropertyDefinitionsPtr createPropertyDefinitions() override;
 
-- 
GitLab