@Override
    protected void loadNBT(NBTTagCompound data) {
        super.loadNBT(data);
//        uuid = MiscTools.readUUID(data, "uuid");
        if (data.hasKey("trackCache")) {
            NBTTagList tagList = data.getTagList("trackCache", 10);
            for (int i = 0; i < tagList.tagCount(); i++) {
                NBTTagCompound nbt = tagList.getCompoundTagAt(i);
                WorldCoordinate key = WorldCoordinate.readFromNBT(nbt, "key");
                WorldCoordinate value = WorldCoordinate.readFromNBT(nbt, "value");
                trackCache.put(key, value);
            }
        }
//        if (RailcraftConfig.printSignalDebug()) {
//            String isConsistent = "unknown";
//            Deque<WorldCoordinate> lastSave = savedData.get(uuid);
//            if (lastSave != null) {
//                if (pairings.containsAll(lastSave))
//                    isConsistent = "true";
//                else
//                    isConsistent = "false";
//            }

        printDebug("Signal Block loaded NBT. [{0}, {1}, {2}] [data: {3}]", tile.xCoord, tile.yCoord, tile.zCoord, pairings);
//        }
    }