protected void processInteractorPool(Collection<MitabXref> xref, InteractorPool interactor) {
InteractorPool pool = (InteractorPool)interactor;
for (Xref ref : xref){
if (XrefUtils.doesXrefHaveQualifier(ref, Xref.INTERACTOR_SET_QUALIFIER_MI, Xref.INTERACTOR_SET_QUALIFIER)){
Interactor subInteractor = interactorFactory.createInteractorFromDatabase(ref.getDatabase(), ref.getId().toLowerCase());
if (subInteractor != null){
subInteractor.getIdentifiers().add(new MitabXref(ref.getDatabase(), ref.getId(), ref.getVersion(), CvTermUtils.createIdentityQualifier()));
((MitabInteractor)subInteractor).setSourceLocator(((MitabXref)ref).getSourceLocator());
}
else{
subInteractor = interactorFactory.createInteractor(ref.getId().toLowerCase(), CvTermUtils.createUnknownInteractorType());
subInteractor.getIdentifiers().add(new MitabXref(ref.getDatabase(), ref.getId(), ref.getVersion(), CvTermUtils.createIdentityQualifier()));
((MitabInteractor)subInteractor).setSourceLocator(((MitabXref)ref).getSourceLocator());
}
pool.add(subInteractor);
}
else{
pool.getXrefs().add(ref);
}
}
}