code: public void inject(Object target, Class<? extends Annotation> injectAnnotation)
              throws ProvideException, ProviderMissingException, CircularDependenciesException {
          if (monitors != null) {
              int size = monitors.size();
              for (int i = 0; i < size; i++) {
                  monitors.get(i).onInject(target);
              }
          }
          doInject(target, null, null, null, injectAnnotation);
          visitedInjectNodes.clear();
          revisitedNode = null;
          visitedFields.clear();
      }
docs: Inject all fields annotated by the given injectAnnotation
  
  @param target           Whose fields will be injected
  @param injectAnnotation Annotated which a field will be recognize
  @throws ProvideException