public void ensureSkeleton() {
        if (skeleton != null) return;

        List<Integer> sids = new ArrayList<Integer>();
        if (sid != -1) {
            sids.add(sid);
        }
        for (Integer stsid : soundtracks.keySet()) {
            if (stsid != -1) {
                sids.add(stsid);
            }
        }
        int[] sidsA = new int[sids.size()];
        for (int i=0; i<sidsA.length; i++) {
            sidsA[i] = sids.get(i);
        }

        skeleton = new SkeletonStream(sidsA);
    }