Teildatensatz extends Satz { @Override public Collection<Feld> getFelder() { return new TreeSet<>(datenfelder.values()); } Teildatensatz(final NumFeld satzart);  Teildatensatz(final NumFeld satzart, final int nr);  Teildatensatz(final int satzart, final int nr);  Teildatensatz(final Teildatensatz other); private  Teildatensatz(final int satzart, final Zeichen satznummer); Zeichen getNummer(); void setSatznummer(Zeichen satznummer); @Override void add(final Feld feld); void remove(final Feld feld); @Override void remove(final Bezeichner bezeichner); @Override void set(final Bezeichner name, final String value); @Override Feld getFeld(final Enum feldX); @Override Feld getFeld(final Bezeichner bezeichner); Feld getFeld(final int nr); boolean hasFeld(final Enum feldX); @Override boolean hasFeld(final Bezeichner bezeichner); boolean hasFeld(final Feld feld); @Override Collection<Feld> getFelder(); @Override void export(final Writer writer); @Override void export(final Writer writer, final String eod); @Override void importFrom(final String content); @Override boolean isValid(); @Override List<ConstraintViolation> validate(); @Override Object clone();  }
@Test public void testGetFelder() { Teildatensatz teildatensatz = new Vorsatz().getTeildatensatz(1); Iterator<Feld> iterator = teildatensatz.getFelder().iterator(); Feld prev = iterator.next(); while(iterator.hasNext()) { Feld next = iterator.next(); LOG.info("Feld: {}", next); assertTrue("wrong sorted: " + prev + " > " + next, prev.getByteAdresse() < next .getByteAdresse()); prev = next; } }