public void doHandle(final PerformContext performContext) throws ScenarioBoundValueException {
final ObjectAdapter onAdapter = performContext.getOnAdapter();
final ObjectMember nakedObjectMember = performContext.getObjectMember();
final CellBinding onMemberBinding = performContext.getPeer().getOnMemberBinding();
@SuppressWarnings("unused")
final ScenarioCell onMemberCell = onMemberBinding.getCurrentCell();
final List<ScenarioCell> argumentCells = performContext.getArgumentCells();
final OneToManyAssociation otma = (OneToManyAssociation) nakedObjectMember;
// safe since guaranteed by superclass
final CellBinding arg0Binding = performContext.getPeer().getArg0Binding();
final ScenarioCell arg0Cell = argumentCells.get(0);
final String toRemove = arg0Cell.getText();
final CollectionRemoveFromFacet removeFromFacet = nakedObjectMember.getFacet(CollectionRemoveFromFacet.class);
if (removeFromFacet == null) {
throw ScenarioBoundValueException.current(onMemberBinding, "(cannot remove from collection)");
}