abstract class android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher<T> implements android.app.SystemServiceRegistry$ServiceFetcher<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher
  super_class: java.lang.Object
{
  private T mCachedInstance;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Signature: TT;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher this
         0: .line 1164
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher<TT;>;

  public final T getService(android.app.ContextImpl);
    descriptor: (Landroid/app/ContextImpl;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher this
        start local 1 // android.app.ContextImpl ctx
         0: .line 1169
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1170
            aload 0 /* this */
            getfield android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher.mCachedInstance:Ljava/lang/Object;
            ifnonnull 9
         2: .line 1171
            aload 1 /* ctx */
            invokevirtual android.app.ContextImpl.getApplicationContext:()Landroid/content/Context;
            astore 3 /* appContext */
        start local 3 // android.content.Context appContext
         3: .line 1177
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* appContext */
            ifnull 4
            aload 3 /* appContext */
            goto 5
      StackMap locals: android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.app.ContextImpl android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.content.Context
      StackMap stack: android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher
         4: aload 1 /* ctx */
      StackMap locals: android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.app.ContextImpl android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.content.Context
      StackMap stack: android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher android.content.Context
         5: invokevirtual android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher.createService:(Landroid/content/Context;)Ljava/lang/Object;
            putfield android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher.mCachedInstance:Ljava/lang/Object;
         6: .line 1178
            goto 9
      StackMap locals:
      StackMap stack: android.os.ServiceManager$ServiceNotFoundException
         7: astore 4 /* e */
        start local 4 // android.os.ServiceManager$ServiceNotFoundException e
         8: .line 1179
            aload 4 /* e */
            invokestatic android.app.SystemServiceRegistry.onServiceNotFound:(Landroid/os/ServiceManager$ServiceNotFoundException;)V
        end local 4 // android.os.ServiceManager$ServiceNotFoundException e
        end local 3 // android.content.Context appContext
         9: .line 1182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher.mCachedInstance:Ljava/lang/Object;
            aload 2
            monitorexit
        10: areturn
        11: .line 1169
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        12: athrow
        end local 1 // android.app.ContextImpl ctx
        end local 0 // android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Landroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher<TT;>;
            0   13     1         ctx  Landroid/app/ContextImpl;
            3    9     3  appContext  Landroid/content/Context;
            8    9     4           e  Landroid/os/ServiceManager$ServiceNotFoundException;
      Exception table:
        from    to  target  type
           3     6       7  Class android.os.ServiceManager$ServiceNotFoundException
           1    10      11  any
          11    12      11  any
    Signature: (Landroid/app/ContextImpl;)TT;
    MethodParameters:
      Name  Flags
      ctx   

  public abstract T createService(android.content.Context);
    descriptor: (Landroid/content/Context;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws android.os.ServiceManager$ServiceNotFoundException
    Signature: (Landroid/content/Context;)TT;
    MethodParameters:
                    Name  Flags
      applicationContext  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Landroid/app/SystemServiceRegistry$ServiceFetcher<TT;>;
SourceFile: "SystemServiceRegistry.java"
NestHost: android.app.SystemServiceRegistry
InnerClasses:
  abstract ServiceFetcher = android.app.SystemServiceRegistry$ServiceFetcher of android.app.SystemServiceRegistry
  abstract StaticApplicationContextServiceFetcher = android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher of android.app.SystemServiceRegistry
  public ServiceNotFoundException = android.os.ServiceManager$ServiceNotFoundException of android.os.ServiceManager