code: ParseTask parse(final String source) {
          ParseTask pt = state.taskFactory.new ParseTask(source, false);
          if (!pt.units().isEmpty()
                  && pt.units().get(0).getKind() == Kind.EXPRESSION_STATEMENT
                  && pt.getDiagnostics().hasOtherThanNotStatementErrors()) {
              // It failed, it may be an expression being incorrectly
              // parsed as having a leading type variable, example:   a < b
              // Try forcing interpretation as an expression
              ParseTask ept = state.taskFactory.new ParseTask(source, true);
              if (!ept.getDiagnostics().hasOtherThanNotStatementErrors()) {
                  return ept;
              }
          }
          return pt;
      }
docs: Parse a snippet and return our parse task handler