library/core/src/main/java/com/google/android/exoplayer2/drm/DecryptionResource.java
@SuppressWarnings("unchecked")
  public void releaseReference() {
    if (--referenceCount == 0) {
      owner.onLastReferenceReleased((T) this);
    } else if (referenceCount < 0) {
      throw new IllegalStateException("Illegal release of resource.");
    }
  }
/**
   * Decreases by one the reference count for this resource, and notifies the owner if said count
   * reached zero as a result of this operation.
   *
   * <p>Must only be called as releasing counter-part of {@link #acquireReference()}.
   */
Decreases by one the reference count for this resource, and notifies the owner if said count
reached zero as a result of this operation.

Must only be called as releasing counter-part of  #acquireReference().
Decreases by one the reference count for this resource and notifies the owner if said count reached zero as a result of this operation . Must only be called as releasing counter - part of #acquireReference () .
@SuppressWarnings("unchecked")
  public void releaseReference() {
    if (--referenceCount == 0) {
      owner.onLastReferenceReleased((T) this);
    } else if (referenceCount < 0) {
      throw new IllegalStateException("Illegal release of resource.");
    }
  }
@ SuppressWarnings ( "unchecked" ) public void releaseReference ( ) { if ( -- referenceCount == 0 ) { owner . onLastReferenceReleased ( ( T ) this ) ; } else if ( referenceCount < 0 ) { throw new IllegalStateException ( "Illegal release of resource." ) ; } }
Decreases by one the reference count for this resource, and notifies the owner if said count
 reached zero as a result of this operation.
Decreases by one the reference count for this resource and notifies the owner if said count reached zero as a result of this operation .