public List<?>[] getStates()
    {
        ArrayList<Integer> ids = new ArrayList<Integer>();
        ArrayList<TaggedStorageChunk> chunks = new ArrayList<TaggedStorageChunk>();
        try
        {
            DataInputStream in = new DataInputStream(new ByteArrayInputStream(data));
            int size = in.readInt();
            for(int i = 0;i<size;i++)
            {
                try
                {
                    String entityClass = in.readUTF();
                    InputStream in1 = new ByteArrayInputStream(Base64.decodeBase64(in.readUTF()));
                    byte[] bytes = IO.read(in1);
                    in1.close();
                    TaggedStorageChunk chunk = BlockyMain.saveSystem.readChunk(bytes);
                    String s = chunk.getChunkName().replaceFirst("Entity_", "");
                    ids.add(Integer.parseInt(s.substring(s.lastIndexOf("_")+1)));
                    chunks.add(chunk);
                }
                catch(Exception e)
                {
                    if(e instanceof EOFException)
                    {
                        
                    }
                    else
                        e.printStackTrace();
                }
            }
            in.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return new List[]{ids, chunks};
    }