code: public void run(Entry entry) {	
  		
  		// get availabilities
  		final Set<String> avail = new HashSet<String>();
  		if(entry.hasAvailabilities()) {
  			for (Availability a : entry.getAvailabilities())
  				if (a.hasValue()) 
  					avail.add(a.getValue());	
  		}
  		
  		// get data source
  		final Provenance pro = createProvenance(entry.getSource());
  		
  		//build a skip-set of "interactions" linked by participant.interactionRef element;
  		//we'll then create Complex type participants from these in-participant interactions.
  		Set<Interaction> participantInteractions = new HashSet<Interaction>();
  		for(Interaction interaction : entry.getInteractions()) {
  			for(Participant participant : interaction.getParticipants()) {
  				//checking for hasInteraction()==true only is sufficient; 
  				//i.e., we ignore hasInteractionRef(), getInteractionRefs(), 
  				//because these in fact get cleared by the PSI-MI parser:
  				if(participant.hasInteraction()) {
  					participantInteractions.add(participant.getInteraction());
  				}
  			}
  		}
  		
  		// iterate through the "root" psimi interactions only and create biopax interactions or complexes
  		for (Interaction interaction : entry.getInteractions()) {
  			if(!participantInteractions.contains(interaction)) {
  				// TODO future (hard): make a Complex or Interaction based on the interaction type ('direct interaction' or 'physical association' (IntAct) -> complex)
  				processInteraction(interaction, avail, pro, false);
  			}
  		}
  	}
docs: Convert a PSIMI entry to BioPAX
  interactions, participants, etc. objects
  and add to the target BioPAX model.
  
  @param entry