@SuppressWarnings("all")
    public static boolean register(ClassFileTransformer classFileTransformer, Object classFileFactory) {
        try {
            TypeDescription typeDescription = TypeDescription.ForLoadedType.of(LambdaFactory.class);
            Class<?> lambdaFactory = ClassInjector.UsingReflection.ofSystemClassLoader()
                    .inject(Collections.singletonMap(typeDescription, ClassFileLocator.ForClassLoader.read(LambdaFactory.class)))
                    .get(typeDescription);
            @SuppressWarnings("unchecked")
            Map<ClassFileTransformer, Object> classFileTransformers = (Map<ClassFileTransformer, Object>) lambdaFactory
                    .getField(FIELD_NAME)
                    .get(null);
            synchronized (classFileTransformers) {
                try {
                    return classFileTransformers.isEmpty();
                } finally {
                    classFileTransformers.put(classFileTransformer, lambdaFactory
                            .getConstructor(Object.class, Method.class)
                            .newInstance(classFileFactory, classFileFactory.getClass().getMethod("make",
                                    Object.class,
                                    String.class,
                                    Object.class,
                                    Object.class,
                                    Object.class,
                                    Object.class,
                                    boolean.class,
                                    List.class,
                                    List.class,
                                    Collection.class)));
                }
            }
        } catch (RuntimeException exception) {
            throw exception;
        } catch (Exception exception) {
            throw new IllegalStateException("Could not register class file transformer", exception);
        }
    }
@ SuppressWarnings ( "all" ) public static boolean register ( ClassFileTransformer classFileTransformer , Object classFileFactory ) { try { TypeDescription typeDescription = TypeDescription . ForLoadedType . of ( LambdaFactory . class ) ; Class < ? > lambdaFactory = ClassInjector . UsingReflection . ofSystemClassLoader ( ) . inject ( Collections . singletonMap ( typeDescription , ClassFileLocator . ForClassLoader . read ( LambdaFactory . class ) ) ) . get ( typeDescription ) ; @ SuppressWarnings ( "unchecked" ) Map < ClassFileTransformer , Object > classFileTransformers = ( Map < ClassFileTransformer , Object > ) lambdaFactory . getField ( FIELD_NAME ) . get ( null ) ; synchronized ( classFileTransformers ) { try { return classFileTransformers . isEmpty ( ) ; } finally { classFileTransformers . put ( classFileTransformer , lambdaFactory . getConstructor ( Object . class , Method . class ) . newInstance ( classFileFactory , classFileFactory . getClass ( ) . getMethod ( "make" , Object . class , String . class , Object . class , Object . class , Object . class , Object . class , boolean . class , List . class , List . class , Collection . class ) ) ) ; } } } catch ( RuntimeException exception ) { throw exception ; } catch ( Exception exception ) { throw new IllegalStateException ( "Could not register class file transformer" , exception ) ; } }
Registers a class file transformer together with a factory for creating a lambda expression. It is possible to call this method independently
of the class loader's context as the supplied injector makes sure that the manipulated collection is the one that is held by the system class
loader.

@param classFileTransformer The class file transformer to register.
@param classFileFactory     The lambda class file factory to use. This factory must define a visible instance method with the signature
{@code byte[] make(Object, String, Object, Object, Object, Object, boolean, List, List, Collection}. The arguments provided
are the invokedynamic call site's lookup object, the lambda method's name, the factory method's type, the lambda method's
type, the target method's handle, the specialized method type of the lambda expression, a boolean to indicate
serializability, a list of marker interfaces, a list of additional bridges and a collection of class file transformers to
apply.
@return {@code true} if this is the first registered transformer. This indicates that the {@code LambdaMetafactory} must be instrumented to delegate
to this alternative factory.