private static Value<?> getValue(
     final Inject injectConfig, final List<ClassReflectionIndex> mBeanClassHierarchy) {
   final String propertyName = injectConfig.getPropertyName();
   Value<?> valueToInject = Values.injectedValue();
   if (propertyName != null) {
     final Method getter = ReflectionUtils.getGetter(mBeanClassHierarchy, propertyName);
     final Value<Method> getterValue = new ImmediateValue<Method>(getter);
     valueToInject =
         cached(new MethodValue<Object>(getterValue, valueToInject, Values.<Object>emptyList()));
   }
   return valueToInject;
 }