code: def get_node_pos(self, key):
          
          if len(self.ring) == 0:
              return [None, None]
          crc = self.hash_method(b(key))
          idx = bisect.bisect(self.sorted_keys, crc)
          # prevents out of range index
          idx = min(idx, (self.replicas * len(self.nodes)) - 1)
          return [self.ring[self.sorted_keys[idx]], idx]
docs: Given a string key a corresponding node in the hash ring is returned
          along with it's position in the ring.
  
          If the hash ring is empty, (`None`, `None`) is returned.