src/main/java/com/seanchenxi/gwt/storage/client/StorageExt.java
public <T extends Serializable> void remove(StorageKey<T> key) {
    String data = storage.getItem(key.name());
    storage.removeItem(key.name());
    T value = cache.remove(key);
    fireEvent(StorageChangeEvent.ChangeType.REMOVE, key, null, value, null, data);
  }
public <T extends Serializable> void remove(StorageKey<T> key) {
    String data = storage.getItem(key.name());
    storage.removeItem(key.name());
    T value = cache.remove(key);
    fireEvent(StorageChangeEvent.ChangeType.REMOVE, key, null, value, null, data);
  }
Removes the record for the specified key from this storage if present.

<p>
{@link StorageKeyFactory} is preferred to get a {@link StorageKey} instance for primitive types
</p>

@param key key whose mapping is to be removed from the map
@param <T> the type of stored value