@Override
    public boolean equals(Object o) {
        if (this.getClass() != o.getClass()){
            return false;
        }
        PlayedNoteToken oPlayed = (PlayedNoteToken) o;
        if (this.getType().equals(oPlayed.getType()) &&
                this.getNumerator().equals(oPlayed.getNumerator()) &&
                this.getDenominator().equals(oPlayed.getDenominator()) &&
                this.getBaseNote().equals(oPlayed.getBaseNote()) &&
                this.getAccidental().equals(oPlayed.getAccidental()) &&
                this.hasAccidental().equals(oPlayed.hasAccidental()) &&
                this.getOctave().equals(oPlayed.getOctave())
                ) { 
            return true;
        }
        return false;
    }