LazyInitializer.java 845 Bytes
package org.apache.commons.lang3.concurrent;

public abstract class LazyInitializer<T>
  implements ConcurrentInitializer<T>
{
  private volatile T a;
  
  public T get()
    throws ConcurrentException
  {
    Object localObject1 = this.a;
    if (localObject1 == null) {
      try
      {
        Object localObject2 = this.a;
        localObject1 = localObject2;
        if (localObject2 == null)
        {
          localObject1 = initialize();
          this.a = localObject1;
        }
        return (T)localObject1;
      }
      finally {}
    }
    return ?;
  }
  
  protected abstract T initialize()
    throws ConcurrentException;
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/org/apache/commons/lang3/concurrent/LazyInitializer.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */