Actually the supportsGroup() function should have a descriptive text return, not just a bool.  Maybe like this:
```
std::string error = kinematics_instance->checkGroupSupported(jmg);
if(error == "")
{
  imap[groups[i]] = kinematics_allocator;
}
else
{
  ROS_ERROR("kinematics plugin %s does not support joint group %s: %s",
                         kinematics_name, jmg->getName(), error);
}
```