Program: 133763
Project: 133763
Buggy source:
/** 
 * Creation of actual instance from   {@link IPrototype}
 * @param proxy prototype instance to be realized
 * @return realized instance
 */
protected T handleRealize(T proxy){
  T ret=createInstance(proxy);
  PropertyResolverConverter prc=getPropertyResolverConverter();
  for (  Map.Entry<String,Object> entry : values.entrySet()) {
    String propertyName=entry.getKey();
    Object value=entry.getValue();
    int mappedIndicatorIndx=propertyName.indexOf(':');
    if (mappedIndicatorIndx < 0) {
      try {
        PropertyResolver.setValue(propertyName,ret,value,prc);
      }
 catch (      WicketRuntimeException e) {
        e.printStackTrace();
      }
    }
 else {
      String propertyExp=propertyName.substring(0,mappedIndicatorIndx);
      String fieldExp=propertyName.substring(mappedIndicatorIndx + 1);
      Object object=ret;
      int subObject=propertyExp.lastIndexOf('.');
      if (subObject >= 0) {
        object=PropertyResolver.getValue(propertyExp.substring(0,subObject),object);
        propertyExp=propertyExp.substring(subObject + 1);
      }
      if (object != null) {
        String methodName="String_Node_Str" + propertyExp.substring(0,1).toUpperCase() + propertyExp.substring(1);
        Method[] methods=object.getClass().getMethods();
        try {
          for (          Method method : methods) {
            if (method.getName().equals(methodName)) {
              Class<?>[] paramTypes=method.getParameterTypes();
              if (paramTypes.length == 2 && paramTypes[0].isAssignableFrom(String.class) && (value == null || paramTypes[1].isInstance(value))) {
                method.invoke(object,fieldExp,value);
                break;
              }
            }
          }
        }
 catch (        Exception e) {
        }
      }
    }
  }
  realized=ret;
  if (listener != null)   listener.onRealizePrototype((IPrototype<T>)proxy);
  return ret;
}

Fixed version (ground truth):
/** 
 * Creation of actual instance from   {@link IPrototype}
 * @param proxy prototype instance to be realized
 * @return realized instance
 */
protected T handleRealize(T proxy){
  T ret=createInstance(proxy);
  PropertyResolverConverter prc=getPropertyResolverConverter();
  for (  Map.Entry<String,Object> entry : values.entrySet()) {
    String propertyName=entry.getKey();
    Object value=entry.getValue();
    int mappedIndicatorIndx=propertyName.indexOf(':');
    if (mappedIndicatorIndx < 0) {
      try {
        PropertyResolver.setValue(propertyName,ret,value,prc);
      }
 catch (      WicketRuntimeException e) {
        LOG.error("String_Node_Str" + propertyName,e);
      }
    }
 else {
      String propertyExp=propertyName.substring(0,mappedIndicatorIndx);
      String fieldExp=propertyName.substring(mappedIndicatorIndx + 1);
      Object object=ret;
      int subObject=propertyExp.lastIndexOf('.');
      if (subObject >= 0) {
        object=PropertyResolver.getValue(propertyExp.substring(0,subObject),object);
        propertyExp=propertyExp.substring(subObject + 1);
      }
      if (object != null) {
        String methodName="String_Node_Str" + propertyExp.substring(0,1).toUpperCase() + propertyExp.substring(1);
        Method[] methods=object.getClass().getMethods();
        try {
          for (          Method method : methods) {
            if (method.getName().equals(methodName)) {
              Class<?>[] paramTypes=method.getParameterTypes();
              if (paramTypes.length == 2 && paramTypes[0].isAssignableFrom(String.class) && (value == null || paramTypes[1].isInstance(value))) {
                method.invoke(object,fieldExp,value);
                break;
              }
            }
          }
        }
 catch (        Exception e) {
          LOG.error("String_Node_Str" + propertyName,e);
        }
      }
    }
  }
  realized=ret;
  if (listener != null)   listener.onRealizePrototype((IPrototype<T>)proxy);
  return ret;
}