public final static ArrayList<DropTargetContainer<JPanel, JPanel, JPanel>> createTargets() {
		final Field[] instrumentFields = MidiInstrument.class.getFields();
		final ArrayList<DropTargetContainer<JPanel, JPanel, JPanel>> instruments = new ArrayList<>(
				instrumentFields.length + 1);
		final Class<MidiInstrument> fieldClass = MidiInstrument.class;
		try {
			for (final Field instrumentField : instrumentFields) {
				final Class<?> clazz = instrumentField.getType();
				if (clazz == fieldClass) {
					final MidiInstrument instrument = fieldClass
							.cast(instrumentField.get(null));
					instruments.add(instrument);
				}

			}
		} catch (final IllegalArgumentException | IllegalAccessException e) {
			e.printStackTrace();
			return null;
		}
		instruments.add(new EmptyMidiInstrumentDropTargetContainer());
		return instruments;
	}