public boolean addExtraDisc(CoverDetails other) {
        // Only add if matching artist and album (except for the (disc x) bit at end)
        if ( other.getArtist().equals(getArtist()) && trimDisc(other.getAlbum()).equals(trimDisc(album)) ) {
            if ( discNumber == 1 && other.discNumber > discNumber ) {
                other.partOfOtherCover = true;
                if ( otherDiscs == null ) {
                    otherDiscs = new LinkedList<CoverDetails>();
                }
                if ( !otherDiscs.contains(other) ) {
                    otherDiscs.add(other);
                    if ( otherDiscs.size() > 1 ) {
                        Collections.sort(otherDiscs, new Comparator<CoverDetails>() {
                            public int compare(CoverDetails o1, CoverDetails o2) {
                                if ( o1.discNumber < o2.discNumber ) {
                                    return -1;
                                }
                                if ( o1.discNumber > o2.discNumber ) {
                                    return 1;
                                }
                                return 0;
                            }
                        });
                    }
                }
                return true;
            }
        }
        return false;
    }