/**
   * Populate named state sprites.
   *
   * @param map The map to populate.
   */
  @Override
  protected void buildSprites(Door entity, final Map<Object, Sprite> map) {
    final String name = entity.getEntityClass();

    final SpriteStore store = SpriteStore.get();

    if (name == null) {
      width = IGameScreen.SIZE_UNIT_PIXELS;
      height = IGameScreen.SIZE_UNIT_PIXELS;

      final Sprite emptySprite = store.getEmptySprite(width, height);

      map.put(STATE_OPEN, emptySprite);
      map.put(STATE_CLOSED, emptySprite);
    } else {
      ZoneInfo info = ZoneInfo.get();
      final Sprite tiles =
          store.getModifiedSprite(translate(name), info.getZoneColor(), info.getColorMethod());

      width = tiles.getWidth();
      height = tiles.getHeight() / 2;

      map.put(STATE_OPEN, store.getTile(tiles, 0, 0, width, height));
      map.put(STATE_CLOSED, store.getTile(tiles, 0, height, width, height));
    }

    calculateOffset(entity, width, height);
  }
 /**
  * Get the current entity state.
  *
  * @param entity
  * @return The current state.
  */
 @Override
 protected Object getState(Door entity) {
   if (entity.isOpen()) {
     return STATE_OPEN;
   } else {
     return STATE_CLOSED;
   }
 }