code: protected ConversionDirectionType getDirection(Conversion conv, Pathway pathway,  Control cont)
  	{
  		for (Control ctrl : getControlChain(cont, conv))
  		{
  			ConversionDirectionType dir = getCatalysisDirection(ctrl);
  			if (dir != null) return dir;
  		}
  
  		Set<StepDirection> dirs = new HashSet<StepDirection>();
  
  		Set<PathwayStep> convSteps = conv.getStepProcessOf();
  
  		// maybe the direction is embedded in a pathway step
  		for (PathwayStep step : cont.getStepProcessOf())
  		{
  			if (pathway != null && !step.getPathwayOrderOf().equals(pathway)) continue;
  
  			if (step instanceof BiochemicalPathwayStep && convSteps.contains(step))
  			{
  				StepDirection dir = ((BiochemicalPathwayStep) step).getStepDirection();
  				if (dir != null) dirs.add(dir);
  			}
  		}
  
  		if (dirs.size() > 1) return ConversionDirectionType.REVERSIBLE;
  		else if (!dirs.isEmpty()) return convertStepDirection(dirs.iterator().next());
  
  		return getDirection(conv);
  	}
docs: Gets the direction of the Control chain the the Interaction.
  @param conv controlled conversion
  @param pathway the container pathway
  @param cont top control
  @return the direction of the conversion related to the catalysis