@Override protected boolean isBehaviorSource(FacesContext ctx,String behaviorSourceId,String componentClientId){
  if (behaviorSourceId == null) {
    return false;
  }
  char sepChar=UINamingContainer.getSeparatorChar(ctx);
  String actualBehaviorId;
  if (behaviorSourceId.lastIndexOf(sepChar) != -1) {
    actualBehaviorId=behaviorSourceId.substring(0,behaviorSourceId.lastIndexOf(sepChar));
  }
 else {
    actualBehaviorId=behaviorSourceId;
  }
  return (actualBehaviorId.equals(componentClientId));
}

@ Override protected boolean isBehaviorSource ( FacesContext ctx , String behaviorSourceId , String componentClientId ) { if ( behaviorSourceId == null ) { return false ; } char sepChar = UINamingContainer . getSeparatorChar ( ctx ) ; String actualBehaviorId ; if ( behaviorSourceId . lastIndexOf ( sepChar ) != - 1 ) { actualBehaviorId = behaviorSourceId . substring ( 0 , behaviorSourceId . lastIndexOf ( sepChar ) ) ; } else { actualBehaviorId = behaviorSourceId ; } return ( actualBehaviorId . equals ( componentClientId ) ) ; }
we override isbehaviorsource since the id of the activated check box will have been augmented with the option number .
