Um das Problem mal zu verdeutlichen, hier ein simples, aus der vereinfachten Sicht schon fast sinnloses Beispiel:
Code: Alles auswählen
public class Param {
	public int position;
	public int dataTypeID;
	public int value;
	public Service itsService;
}
public class Service {
	public List<Param> requestParams;
	public List<Param> responseParams;
}Die einzige die mir einfällt wäre es, dies wie folgt zu gestalten:
Code: Alles auswählen
public class Param {
	public int position;
	public int dataTypeID;
	public int value;
}
public class RqParam extends Param {
	public Service itsService;
}
public class RspParam extends Param {
	public Service itsService;
}
public class Service {
	public List<RqParam> requestParams;
	public List<RspParam> responseParams;
}Kennt jemand eine bessere Lösung?
Edit: Codebeispiele etwas angepasst um das eigentliche Problem etwas mehr zu verdeutlichen (ein Assoziatsende 1 Rollenname, das andere 2 verschiedene Rollennamen)