// Path: test-data-lib/src/main/java/com/test/MyObject$LifeCycleBinder.java
// public class MyObject$LifeCycleBinder {
// 
//     public static MyObject bind(LifeCycleAwareCollector collector, MyObject lifeCycleAware, boolean addInList) {
//         if (addInList) {
//             collector.addLifeCycleAware(lifeCycleAware);
//         }
//         return lifeCycleAware;
//     }
// }
// 
// Path: lifecyclebinder-api/src/main/java/it/codingjam/lifecyclebinder/LifeCycleAwareCollector.java
// public interface LifeCycleAwareCollector {
//     <R> R addRetainedFactory(String key, Callable<R> factory, boolean addInLifeCycleAwareList);
// 
//     void addLifeCycleAware(LifeCycleAware<?> lifeCycleAware);
// 
//     <R> R getOrCreate(R lifeCycleAware, String key, Callable<R> factory);
// }


import com.test.MyObject$LifeCycleBinder;
import it.codingjam.lifecyclebinder.LifeCycleAwareCollector;
package com.test.retained;


public class ActivityWithRetainedAndField$LifeCycleBinder {
    public static void bind(LifeCycleAwareCollector collector, final ActivityWithRetainedAndField view) {
// Path: test-data-lib/src/main/java/com/test/MyObject$LifeCycleBinder.java
// public class MyObject$LifeCycleBinder {
// 
//     public static MyObject bind(LifeCycleAwareCollector collector, MyObject lifeCycleAware, boolean addInList) {
//         if (addInList) {
//             collector.addLifeCycleAware(lifeCycleAware);
//         }
//         return lifeCycleAware;
//     }
// }
// 
// Path: lifecyclebinder-api/src/main/java/it/codingjam/lifecyclebinder/LifeCycleAwareCollector.java
// public interface LifeCycleAwareCollector {
//     <R> R addRetainedFactory(String key, Callable<R> factory, boolean addInLifeCycleAwareList);
// 
//     void addLifeCycleAware(LifeCycleAware<?> lifeCycleAware);
// 
//     <R> R getOrCreate(R lifeCycleAware, String key, Callable<R> factory);
// }


// Path: test-data-lib/src/main/java/com/test/retained/ActivityWithRetainedAndField$LifeCycleBinder.java
import com.test.MyObject$LifeCycleBinder;
import it.codingjam.lifecyclebinder.LifeCycleAwareCollector;

package com.test.retained;


public class ActivityWithRetainedAndField$LifeCycleBinder {
    public static void bind(LifeCycleAwareCollector collector, final ActivityWithRetainedAndField view) {
        view.myObject = MyObject$LifeCycleBinder.bind(collector, collector.getOrCreate(null, "myObjectProvider", view.myObjectProvider), true);