code: private void endWaitingForUsage() {
          synchronized (permanentUserReadWriteLock) {
              if (permissionWithoutUsageLimit != null)
                  permissionWithoutUsageLimit = null;
              if (permissionWithoutUsageCloseThread != null) {
                  permissionWithoutUsageCloseThread.cancel(true);
                  permissionWithoutUsageLimit = null;
              }
          }
      }
docs: removes the LocaleDateTime and Thread (if exisiting)