code: public static void inject(Object... objects) {
          try {
              for (Object object : objects) {
                  Class clazz = object.getClass();
                  for (Field field : ReflectionHelper.getFields(clazz)) {
                      if (field.isAnnotationPresent(InjectHere.class)) {
                          qualifiers.clear();
                          for (Annotation annotation : field.getAnnotations()) {
                              if (annotation.annotationType().isAnnotationPresent(Qualifier.class)) {
                                  qualifiers.add(annotation.annotationType().getCanonicalName());
                              }
                          }
                          field.setAccessible(true);
                          field.set(object, dependencyContainer.get(DependencyIdentifier
                                  .getDependencyIdentifierForClass(field, qualifiers)));
                      }
                  }
              }
          } catch (Exception e) {
              throw new AvicennaRuntimeException(e);
          }
      }
docs: Whenever this method is called, all objects in input argument are searched for
  annotated fields. Then, the fields are injected by dependency objects.
  
  @param objects List of objects which they should be injected.