code: public <T> T createLambda(String code, TypeReference<T> typeReference) throws LambdaCreationException {
          String helperClassSource = helperProvider.getHelperClassSource(typeReference.toString(), code, imports, staticImports);
          try {
              Class<?> helperClass = classFactory.createClass(helperProvider.getHelperClassName(), helperClassSource, javaCompiler, createOptionsForCompilationClasspath(compilationClassPath), parentClassLoader);
              Method lambdaReturningMethod = helperClass.getMethod(helperProvider.getLambdaReturningMethodName());
              @SuppressWarnings("unchecked")
              // the whole point of the class template and runtime compilation is to make this cast work well :-)
                      T lambda = (T) lambdaReturningMethod.invoke(null);
              return lambda;
          } catch (ReflectiveOperationException | RuntimeException | NoClassDefFoundError e) {
              // NoClassDefFoundError can be thrown if provided parent class loader cannot load classes used by the lambda
              throw new LambdaCreationException(e);
          } catch (ClassCompilationException classCompilationException) {
              // that catch differs from the catch above as the exact exception type is known and additional details can be extracted
              throw new LambdaCreationException(classCompilationException);
          }
      }
docs: Creates lambda from the given code.
  
  @param code          source of the lambda as you would write it in Java expression  {TYPE} lambda = ({CODE});
  @param typeReference a subclass of TypeReference class with the generic argument representing the type of the lambda
  , for example  <br> {@code new TypeReference<Function<Integer,Integer>>(){}; }
  @param <T>           type of the lambda you want to get
  @throws LambdaCreationException when anything goes wrong (no other exceptions are thrown including runtimes),
  if the exception was caused by compilation failure it will contain a CompilationDetails instance describing them