Avoid calling id_sequence_.size() repeatedly
diff --git a/storage/ValueAccessor.hpp b/storage/ValueAccessor.hpp
index e2a898e..f772666 100644
--- a/storage/ValueAccessor.hpp
+++ b/storage/ValueAccessor.hpp
@@ -504,6 +504,7 @@
       : accessor_(accessor),
         owned_accessor_(take_ownership_of_accessor ? accessor : nullptr),
         id_sequence_(id_sequence),
+        id_seqence_size_(id_sequence.size()),
         current_position_(std::numeric_limits<OrderedTupleIdSequence::size_type>::max()) {
     static_assert(std::numeric_limits<OrderedTupleIdSequence::size_type>::is_modulo,
                   "size_type does not support modulo overflow.");
@@ -529,12 +530,12 @@
   }
 
   inline bool iterationFinished() const {
-    return current_position_ + 1 >= id_sequence_.size();
+    return current_position_ + 1 >= id_sequence_size_;
   }
 
   inline bool next() {
     ++current_position_;
-    return current_position_ != id_sequence_.size();
+    return current_position_ != id_sequence_size_;
   }
 
   inline void previous() {
@@ -551,7 +552,7 @@
   }
 
   inline tuple_id getNumTuples() const {
-    return id_sequence_.size();
+    return id_sequence_size_;
   }
 
   template <bool check_null = true>
@@ -674,6 +675,7 @@
   InternalValueAccessorType *accessor_;
   std::unique_ptr<InternalValueAccessorType> owned_accessor_;
   const OrderedTupleIdSequence &id_sequence_;
+  const std::size_t id_sequence_size_;
   OrderedTupleIdSequence::size_type current_position_;
 
   DISALLOW_COPY_AND_ASSIGN(OrderedTupleIdSequenceAdapterValueAccessor);