code: public List<CcgParse> beamSearch(AnnotatedSentence input, int beamSize, LogFunction log) {
      return beamSearch(input, beamSize, null, log, -1, Integer.MAX_VALUE, 1);
    }
docs: Performs a beam search to find the best CCG parses of
  {@code input}. Note that this is an approximate inference
  strategy, and the returned parses may not be the best parses if
  at any point during the search more than {@code beamSize} parse
  trees exist for a span of the sentence.
  
  @param input
  @param beamSize
  @param log
  @return {@code beamSize} best parses for {@code terminals}.