public interface org.terracotta.statistics.OperationStatistic<T extends java.lang.Enum<T>> extends org.terracotta.statistics.observer.OperationObserver<T>, org.terracotta.statistics.SourceStatistic<org.terracotta.statistics.observer.ChainedOperationObserver<? super T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.terracotta.statistics.OperationStatistic
  super_class: java.lang.Object
{
  public abstract java.lang.Class<T> type();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<TT;>;

  public org.terracotta.statistics.ValueStatistic<java.lang.Long> statistic(T);
    descriptor: (Ljava/lang/Enum;)Lorg/terracotta/statistics/ValueStatistic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.terracotta.statistics.OperationStatistic this
        start local 1 // java.lang.Enum result
         0: .line 39
            aload 0 /* this */
            aload 1 /* result */
            invokedynamic get(Lorg/terracotta/statistics/OperationStatistic;Ljava/lang/Enum;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/terracotta/statistics/OperationStatistic.lambda$0(Ljava/lang/Enum;)Ljava/lang/Long; (7 itf)
                  ()Ljava/lang/Long;
            invokestatic org.terracotta.statistics.ValueStatistics.counter:(Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
            areturn
        end local 1 // java.lang.Enum result
        end local 0 // org.terracotta.statistics.OperationStatistic this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/terracotta/statistics/OperationStatistic<TT;>;
            0    1     1  result  TT;
    Signature: (TT;)Lorg/terracotta/statistics/ValueStatistic<Ljava/lang/Long;>;
    MethodParameters:
        Name  Flags
      result  

  public org.terracotta.statistics.ValueStatistic<java.lang.Long> statistic(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)Lorg/terracotta/statistics/ValueStatistic;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.terracotta.statistics.OperationStatistic this
        start local 1 // java.util.Set results
         0: .line 43
            aload 0 /* this */
            aload 1 /* results */
            invokedynamic get(Lorg/terracotta/statistics/OperationStatistic;Ljava/util/Set;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/terracotta/statistics/OperationStatistic.lambda$1(Ljava/util/Set;)Ljava/lang/Long; (7 itf)
                  ()Ljava/lang/Long;
            invokestatic org.terracotta.statistics.ValueStatistics.counter:(Ljava/util/function/Supplier;)Lorg/terracotta/statistics/ValueStatistic;
            areturn
        end local 1 // java.util.Set results
        end local 0 // org.terracotta.statistics.OperationStatistic this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/terracotta/statistics/OperationStatistic<TT;>;
            0    1     1  results  Ljava/util/Set<TT;>;
    Signature: (Ljava/util/Set<TT;>;)Lorg/terracotta/statistics/ValueStatistic<Ljava/lang/Long;>;
    MethodParameters:
         Name  Flags
      results  

  public abstract long count();
    descriptor: (Ljava/lang/Enum;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)J
    MethodParameters:
      Name  Flags
      type  

  public abstract long sum(java.util.Set<T>);
    descriptor: (Ljava/util/Set;)J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Set<TT;>;)J
    MethodParameters:
       Name  Flags
      types  

  public abstract long sum();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  private java.lang.Long lambda$0(java.lang.Enum);
    descriptor: (Ljava/lang/Enum;)Ljava/lang/Long;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.terracotta.statistics.OperationStatistic this
         0: .line 39
            aload 0 /* this */
            aload 1
            invokeinterface org.terracotta.statistics.OperationStatistic.count:(Ljava/lang/Enum;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // org.terracotta.statistics.OperationStatistic this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/statistics/OperationStatistic<TT;>;

  private java.lang.Long lambda$1(java.util.Set);
    descriptor: (Ljava/util/Set;)Ljava/lang/Long;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.terracotta.statistics.OperationStatistic this
         0: .line 43
            aload 0 /* this */
            aload 1
            invokeinterface org.terracotta.statistics.OperationStatistic.sum:(Ljava/util/Set;)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            areturn
        end local 0 // org.terracotta.statistics.OperationStatistic this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/terracotta/statistics/OperationStatistic<TT;>;
}
Signature: <T:Ljava/lang/Enum<TT;>;>Ljava/lang/Object;Lorg/terracotta/statistics/observer/OperationObserver<TT;>;Lorg/terracotta/statistics/SourceStatistic<Lorg/terracotta/statistics/observer/ChainedOperationObserver<-TT;>;>;
SourceFile: "OperationStatistic.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles