code: public boolean indexAppliesTo( JoinCondition condition ) {
          if (condition instanceof ChildNodeJoinCondition) {
              return indexAppliesTo((ChildNodeJoinCondition)condition);
          }
          if (condition instanceof DescendantNodeJoinCondition) {
              return indexAppliesTo((DescendantNodeJoinCondition)condition);
          }
          if (condition instanceof EquiJoinCondition) {
              return indexAppliesTo((EquiJoinCondition)condition);
          }
          if (condition instanceof SameNodeJoinCondition) {
              return indexAppliesTo((SameNodeJoinCondition)condition);
          }
          return false;
      }
docs: Determine if this index can be used to evaluate the given join condition.
  
  @param condition the condition; may not be null
  @return true if it can be used to evaluate the join condition, or false otherwise