*/
public EList<Requirement> getDerivedFrom() {
// This should return the Requirement(s) this Requirement is derived
// from
EList<Requirement> derivedFrom = new BasicEList<Requirement>();
DeriveReqt currentDeriveReqt = null;
if(getBase_Class() != null) {
Iterator<DirectedRelationship> itDep = getBase_Class().getSourceDirectedRelationships().iterator();
// Find DeriveReqt link
while(itDep.hasNext()) {
DirectedRelationship currentDRelationship = itDep.next();
currentDeriveReqt = UMLUtil.getStereotypeApplication(currentDRelationship, DeriveReqt.class);
if(currentDeriveReqt != null) {
EList<NamedElement> suppliers = currentDeriveReqt.getBase_Abstraction().getSuppliers();
Iterator<NamedElement> it = suppliers.iterator();
while(it.hasNext()) {
Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
if(currentRequirement != null) {
derivedFrom.add(currentRequirement);