Program: 30333
Project: 30333
Buggy source:
@Override public Object run(ConfigBeanProxy writableParent) throws PropertyVetoException, TransactionFailure {
  ConfigBeanProxy childBean=writableParent.createChild(targetType);
  manager.inject(childBean,targetType,getInjectionResolver());
  String name=null;
  if (Named.class.isAssignableFrom(targetType)) {
    name=((Named)childBean).getName();
  }
  if (name != null) {
    Object cbp=habitat.getComponent(targetType.getName(),name);
    if (cbp != null) {
      String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",targetType.getSimpleName(),name);
      result.failure(logger,msg);
      throw new TransactionFailure(msg);
    }
  }
  try {
    if (targetMethod.getParameterTypes().length == 0) {
      Object result=targetMethod.invoke(writableParent);
      if (result instanceof List) {
        List<ConfigBeanProxy> children=List.class.cast(result);
        children.add(childBean);
      }
    }
 else {
      targetMethod.invoke(writableParent,childBean);
    }
  }
 catch (  Exception e) {
    String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",targetMethod.toString(),e.toString());
    result.failure(logger,msg,e);
    throw new TransactionFailure(msg,e);
  }
  CreationDecorator<ConfigBeanProxy> decorator=habitat.getComponent(create.decorator());
  if (decorator == null) {
    String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",create.decorator().toString());
    result.failure(logger,msg);
    throw new TransactionFailure(msg);
  }
 else {
    manager.inject(decorator,paramResolver);
    decorator.decorate(context,childBean);
  }
  return childBean;
}

Fixed version (ground truth):
@Override public Object run(ConfigBeanProxy writableParent) throws PropertyVetoException, TransactionFailure {
  ConfigBeanProxy childBean=writableParent.createChild(targetType);
  manager.inject(childBean,targetType,getInjectionResolver());
  String name=null;
  if (Named.class.isAssignableFrom(targetType)) {
    name=((Named)childBean).getName();
  }
  if (name != null) {
    Object cbp=habitat.getComponent(targetType.getName(),name);
    if (cbp != null) {
      String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",targetType.getSimpleName(),name);
      result.failure(logger,msg);
      throw new TransactionFailure(msg);
    }
  }
  try {
    if (targetMethod.getParameterTypes().length == 0) {
      Object result=targetMethod.invoke(writableParent);
      if (result instanceof List) {
        List<ConfigBeanProxy> children=List.class.cast(result);
        children.add(childBean);
      }
    }
 else {
      targetMethod.invoke(writableParent,childBean);
    }
  }
 catch (  Exception e) {
    String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",targetMethod.toString(),e.toString());
    result.failure(logger,msg,e);
    throw new TransactionFailure(msg,e);
  }
  CreationDecorator<ConfigBeanProxy> decorator=null;
  if (create != null) {
    decorator=habitat.getComponent(create.decorator());
  }
  if (decorator == null) {
    String msg=localStrings.getLocalString(GenericCrudCommand.class,"String_Node_Str","String_Node_Str",create == null ? "String_Node_Str" : create.decorator().toString());
    result.failure(logger,msg);
    throw new TransactionFailure(msg);
  }
 else {
    manager.inject(decorator,paramResolver);
    decorator.decorate(context,childBean);
  }
  return childBean;
}