private static Collection<Field> scanDependencies(Class<?> clazz) {
    """
	Scan class dependencies declared by {@link Inject} annotation. This method scans all fields, no matter private, protected
	or public. Anyway it is considered a bug if inject annotation is found on final or static field.
	<p>
	Returns a collection of reflective fields with accessibility set but in not particular order. If given class argument is
	null returns empty collection.
	
	@param clazz class to scan dependencies for, null tolerated.
	@return dependencies collection, in no particular order.
	@throws BugError if inject annotation is used on final or static field.
    """
		if (clazz == null) {
			return Collections.emptyList();
		}
		Collection<Field> dependencies = new ArrayList<>();
		for (Field field : clazz.getDeclaredFields()) {
			if (!field.isAnnotationPresent(Inject.class)) {
				continue;
			}
			if (Modifier.isFinal(field.getModifiers())) {
				throw new BugError("Attempt to inject final field |%s|.", field.getName());
			}
			if (Modifier.isStatic(field.getModifiers())) {
				throw new BugError("Attempt to inject static field |%s|.", field.getName());
			}
			field.setAccessible(true);
			dependencies.add(field);
		}
		return dependencies;
	}
private static Collection<Field> scanDependencies(Class<?> clazz) {
		if (clazz == null) {
			return Collections.emptyList();
		}
		Collection<Field> dependencies = new ArrayList<>();
		for (Field field : clazz.getDeclaredFields()) {
			if (!field.isAnnotationPresent(Inject.class)) {
				continue;
			}
			if (Modifier.isFinal(field.getModifiers())) {
				throw new BugError("Attempt to inject final field |%s|.", field.getName());
			}
			if (Modifier.isStatic(field.getModifiers())) {
				throw new BugError("Attempt to inject static field |%s|.", field.getName());
			}
			field.setAccessible(true);
			dependencies.add(field);
		}
		return dependencies;
	}
private static Collection < Field > scanDependencies ( Class < ? > clazz ) { if ( clazz == null ) { return Collections . emptyList ( ) ; } Collection < Field > dependencies = new ArrayList <> ( ) ; for ( Field field : clazz . getDeclaredFields ( ) ) { if ( ! field . isAnnotationPresent ( Inject . class ) ) { continue ; } if ( Modifier . isFinal ( field . getModifiers ( ) ) ) { throw new BugError ( "Attempt to inject final field |%s|." , field . getName ( ) ) ; } if ( Modifier . isStatic ( field . getModifiers ( ) ) ) { throw new BugError ( "Attempt to inject static field |%s|." , field . getName ( ) ) ; } field . setAccessible ( true ) ; dependencies . add ( field ) ; } return dependencies ; }
Scan class dependencies declared by {@link Inject} annotation. This method scans all fields, no matter private, protected
or public. Anyway it is considered a bug if inject annotation is found on final or static field.
<p>
Returns a collection of reflective fields with accessibility set but in not particular order. If given class argument is
null returns empty collection.

@param clazz class to scan dependencies for, null tolerated.
@return dependencies collection, in no particular order.
@throws BugError if inject annotation is used on final or static field.
Scan class dependencies declared by { @link Inject } annotation . This method scans all fields no matter private protected or public . Anyway it is considered a bug if inject annotation is found on final or static field . <p > Returns a collection of reflective fields with accessibility set but in not particular order . If given class argument is null returns empty collection .