@Override public IMapData getMapData() throws MapLoadException { if (data != null) { return data; } try (InputStream stream = super.getMapDataStream()) { data = new FreshMapData(); FreshMapSerializer.deserialize(data, stream); return data; } catch (IOException ex) { throw new MapLoadException(ex); } }