@Override
 public ParseStep pickNext(final ParserContext context, final ParseStep previous) {
   for (final ParserPickerFactory ppf : ppfs) {
     final ParseStep ps = ppf.getPicker(prevAttemptPos).pickNext(context, previous);
     if (ps != null) return ps;
   }
   return null;
 }
 @Override
 public void teach(final Iterable<ParseStep> step) {
   for (final ParserPickerFactory ppf : factories) {
     ppf.teach(step);
   }
 }