System.out.println ("OrgRTDataPlugIn.createSuperior - creating superior " + sup);
  protected void createSuperior(String sup) {	System.out.println ("OrgRTDataPlugIn.createSuperior - creating superior " + sup);	    if ((sup == null) ||        (sup.equals(""))) {      System.err.println("OrgRTDataPlugIn@" + getClusterIdentifier() + " ignoring Superior specified as \"\"");      return;    }    Organization superiorOrg = createOrganization(sup);    if (superiorOrg == null) {      throw new RuntimeException("OrgRTDataPlugIn: Unable to create superior org asset " + sup);    } else if (selfOrg == null) {      throw new RuntimeException("OrgRTDataPlugIn: selfOrg is null in createSuperior");    }        NewAssignedPG superiorCapability;        if (!superiorOrg.hasAssignedPG()) {      superiorCapability =         (NewAssignedPG)getFactory().createPropertyGroup(AssignedPGImpl.class);    } else {       superiorCapability = (NewAssignedPG)superiorOrg.getAssignedPG().copy();    }        ArrayList roles = new ArrayList(1);    roles.add(Constants.Role.ADMINISTRATIVESUPERIOR);    superiorCapability.setRoles(roles);    superiorOrg.setAssignedPG(superiorCapability);    // clone the selfOrg    Organization clone = (Organization)getFactory().cloneInstance(selfOrg);    NewAssignedPG cloneCapability;        if (!clone.hasAssignedPG()) {      cloneCapability =         (NewAssignedPG)getFactory().createPropertyGroup(AssignedPGImpl.class);    } else {       cloneCapability = (NewAssignedPG)clone.getAssignedPG().copy();    }    roles.clear();    roles.add(Constants.Role.ADMINISTRATIVESUBORDINATE);    cloneCapability.setRoles(roles);    clone.setAssignedPG(cloneCapability);    publish(createRFD(superiorOrg, clone, roles));  }