code: public <T> T get(StorageKey<T> key) throws SerializationException {
      T item = cache.get(key);
      if (item == null) {
        item = StorageUtils.deserialize(key.getClazz(), storage.getItem(key.name()));
        cache.put(key, item);
      }
      return item;
    }
docs: Returns the value in the Storage associated with the specified key,
  or {@code null} if this Storage contains no mapping for the key.
  <p>
  Note : Deserialization will be performed to return a correct value type. <br/>
  {@link StorageKeyFactory} is preferred to get a {@link StorageKey} instance for primitive types.
  </p>
  
  @param key the key to a value in the Storage
  @param <T> the type of stored value
  @return the value associated with the given key
  @throws SerializationException
  @see <a href="http://www.w3.org/TR/webstorage/#dom-storage-getitem">W3C Web
  Storage - Storage.getItem(k)</a>