diff --git a/alib2abstraction/src/abstraction/ValueHolder.hpp b/alib2abstraction/src/abstraction/ValueHolder.hpp
index fef24d6c4a3ef809dbf2b0c8f16f87cc480c5916..1138f22a0c75d2f6a1a73ea48691fe4f6e8cfeb8 100644
--- a/alib2abstraction/src/abstraction/ValueHolder.hpp
+++ b/alib2abstraction/src/abstraction/ValueHolder.hpp
@@ -23,6 +23,10 @@ public:
 	Type && getValue ( ) override {
 		return std::move ( m_data.value ( ) );
 	}
+
+	const Type & getValue ( ) const override {
+		return m_data.value ( );
+	}
 };
 
 template < class Type >
@@ -39,6 +43,10 @@ public:
 	Type && getValue ( ) override {
 		return std::move ( m_data->get ( ) );
 	}
+
+	const Type & getValue ( ) const override {
+		return m_data->get ( );
+	}
 };
 
 template < class Type >
diff --git a/alib2abstraction/src/abstraction/ValueHolderInterface.hpp b/alib2abstraction/src/abstraction/ValueHolderInterface.hpp
index 319282015cf53e2f7f713e8d68dceaac69150893..aa0f68b548fadc0614d7bdf13c43d7545757c65f 100644
--- a/alib2abstraction/src/abstraction/ValueHolderInterface.hpp
+++ b/alib2abstraction/src/abstraction/ValueHolderInterface.hpp
@@ -15,6 +15,8 @@ public:
 
 	virtual Type && getValue ( ) = 0;
 
+	virtual const Type & getValue ( ) const = 0;
+
 };
 
 template < class ParamType >