* @generated NOT
*/
public EList<Requirement> getRefines() {
// This should return the Requirement(s) refined by current element
EList<Requirement> refines = new BasicEList<Requirement>();
Refine currentRefine = null;
if(getBase_NamedElement() != null) {
// Find Refine link
Iterator<Dependency> itDep = getBase_NamedElement().getClientDependencies().iterator();
while(itDep.hasNext()) {
Dependency currentDependency = itDep.next();
currentRefine = UMLUtil.getStereotypeApplication(currentDependency, Refine.class);
if(currentRefine != null) {
EList<NamedElement> suppliers = currentRefine.getBase_Abstraction().getSuppliers();
Iterator<NamedElement> it = suppliers.iterator();
while(it.hasNext()) {
Requirement currentRequirement = UMLUtil.getStereotypeApplication(it.next(), Requirement.class);
if(currentRequirement != null) {
refines.add(currentRequirement);