public static Direction getConnectionDirection(IActivity activity, IData data) {
    boolean inDirection = false;
    boolean outDirection = hasExceptionHandlers(activity, data);

    Iterator mappings = activity.findDataMappings(data, null);
    while (mappings.hasNext()) {
      IDataMapping mapping = (IDataMapping) mappings.next();
      if (mapping.getDirection().equals(Direction.IN)) {
        inDirection = true;
      } else {
        outDirection = true;
      }
    }
    if (inDirection) {

      if (outDirection) {
        return Direction.IN_OUT;
      } else {
        return Direction.IN;
      }
    } else {
      if (outDirection) {
        return Direction.OUT;
      } else {
        return null;
      }
    }
  }