code: public void release(Object target, Class<? extends Annotation> injectAnnotation) throws ProviderMissingException {
          if (monitors != null) {
              int size = monitors.size();
              for (int i = 0; i < size; i++) {
                  monitors.get(i).onRelease(target);
              }
          }
          doRelease(target, null, null, null, injectAnnotation);
          visitedInjectNodes.clear();
          revisitedNode = null;
          visitedFields.clear();
      }
docs: Release cached instances held by fields of target object. References of instances of the
  instances will be decremented. Once the reference count of a controller reaches 0, it will
  be removed from the instances and raise {@link Provider.DereferenceListener}.
  
  @param target           Whose fields will be injected
  @param injectAnnotation Annotated which a field will be recognize