this member function should be static const to be thread safe.