PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  CLASS[classId=/IAdder, fqName=IAdder, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=IAdder, superNames=[]]
    MODIFIER_LIST[open]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=true, isOutVariance=false, name=T]
        MODIFIER_LIST[in]
    CLASS_BODY
      FUN[fqName=IAdder.add, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=add]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=item]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=T]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
  CLASS[classId=/ICloseable, fqName=ICloseable, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ICloseable, superNames=[]]
    MODIFIER_LIST[open]
    CLASS_BODY
      FUN[fqName=ICloseable.close, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=close]
        VALUE_PARAMETER_LIST
  CLASS[classId=/JavaCloseableWrapper, fqName=JavaCloseableWrapper, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=JavaCloseableWrapper, superNames=[ICloseable]]
    MODIFIER_LIST[abstract]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=JavaCloseableWrapper]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=closeable]
          TYPE_REFERENCE
            USER_TYPE
              USER_TYPE
                USER_TYPE
                  REFERENCE_EXPRESSION[referencedName=java]
                REFERENCE_EXPRESSION[referencedName=io]
              REFERENCE_EXPRESSION[referencedName=Closeable]
    SUPER_TYPE_LIST
      SUPER_TYPE_CALL_ENTRY
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=ICloseable]
  FUN[fqName=streamCopy, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=true, isExtension=false, isTopLevel=true, mayHaveContract=false, name=streamCopy]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
    VALUE_PARAMETER_LIST
      VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=from]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IIterable]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=T]
      VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=to]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IAdder]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=T]
  CLASS[classId=/FileInput, fqName=FileInput, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=FileInput, superNames=[IIterator, JavaCloseableWrapper]]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IIterator]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=Byte]
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=JavaCloseableWrapper]
    CLASS_BODY
      PROPERTY[fqName=FileInput.stream, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=stream]
        MODIFIER_LIST[private]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=InputStream]
      PROPERTY[fqName=FileInput.next, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=true, name=next]
        MODIFIER_LIST[private]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Int]
      PROPERTY[fqName=FileInput.nextUsed, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=true, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=true, name=nextUsed]
        MODIFIER_LIST[private]
      FUN[fqName=FileInput.next, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=next]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
      PROPERTY[fqName=FileInput.hasNext, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=false, isExtension=false, isTopLevel=false, isVar=false, name=hasNext]
        MODIFIER_LIST[override]
        PROPERTY_ACCESSOR[hasBody=true, hasNoExpressionBody=true, isGetter=true, mayHaveContract=false]
          VALUE_PARAMETER_LIST
  CLASS[classId=/FileOutput, fqName=FileOutput, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=FileOutput, superNames=[IAdder, JavaCloseableWrapper]]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IAdder]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=Byte]
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=JavaCloseableWrapper]
    CLASS_BODY
      PROPERTY[fqName=FileOutput.stream, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=stream]
        MODIFIER_LIST[private]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=OutputStream]
      FUN[fqName=FileOutput.add, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=add]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=item]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Byte]
  FUN[fqName=example, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=true, mayHaveContract=false, name=example]
    VALUE_PARAMETER_LIST
