public ChordAST(ChordToken chord, double defaultLength) {
		this.list = new ArrayList<NoteAST>();
		boolean IsRepeatNote = false;
		for (NoteOrRestToken note : chord.value) {
			if (note.type == NoteToken.Type.note) {
				for (NoteAST addedNote : list) {
					// get rid of repeating notes. Define repeating as if two
					// notes share the same octave and Note. Only add the first
					// one to ChordAST's list of notes.
					if (((NoteToken) note).note.equals(addedNote.getNote())
					        && ((NoteToken) note).octave == addedNote
					                .getOctave()) {
						IsRepeatNote = true;
						break;
					}
				}
				if (IsRepeatNote == false) {
					this.list.add(new NoteAST((NoteToken) note, defaultLength));
				}
			}
		}
	}