Program: 143441
Project: 143441
Buggy source:
public static WebFormComponent createComponent(IApplication application,IDataAdapterList dataAdapterList,FormElement fe,Container parentToAddTo){
  String name=fe.getName();
  if (name != null) {
    IPersist persist=fe.getPersistIfAvailable();
    int access=0;
    if (persist != null) {
      access=application.getFlattenedSolution().getSecurityAccess(persist.getUUID());
      if (!((access & IRepository.VIEWABLE) != 0))       return null;
    }
    WebFormComponent webComponent=new WebFormComponent(name,fe,dataAdapterList);
    if (parentToAddTo != null)     parentToAddTo.add(webComponent);
    WebComponentSpecification componentSpec=fe.getWebComponentSpec(false);
    for (    String propName : fe.getRawPropertyValues().keySet()) {
      if (componentSpec.getProperty(propName) == null)       continue;
      Object value=fe.getPropertyValueConvertedForWebComponent(propName,webComponent,(DataAdapterList)dataAdapterList);
      if (value == null)       continue;
      fillProperty(value,fe.getPropertyValue(propName),componentSpec.getProperty(propName),webComponent);
    }
    if (persist != null && !((access & IRepository.ACCESSIBLE) != 0))     webComponent.setProperty("String_Node_Str",false);
    for (    String eventName : componentSpec.getHandlers().keySet()) {
      Object eventValue=fe.getPropertyValue(eventName);
      if (eventValue instanceof String) {
        UUID uuid=UUID.fromString((String)eventValue);
        IPersist function=application.getFlattenedSolution().searchPersist(uuid);
        if (function != null) {
          webComponent.add(eventName,function.getID());
        }
 else {
          Debug.warn("String_Node_Str" + eventName + "String_Node_Str"+ fe.getForm().getName()+ "String_Node_Str"+ fe.getName()+ "String_Node_Str");
        }
      }
 else       if (eventValue instanceof Number && ((Number)eventValue).intValue() > 0) {
        webComponent.add(eventName,((Number)eventValue).intValue());
      }
    }
    webComponent.clearChanges();
    return webComponent;
  }
  return null;
}

Fixed version (ground truth):
public static WebFormComponent createComponent(IApplication application,IDataAdapterList dataAdapterList,FormElement fe,Container parentToAddTo){
  String name=fe.getName();
  if (name != null) {
    IPersist persist=fe.getPersistIfAvailable();
    int access=0;
    if (persist != null) {
      access=application.getFlattenedSolution().getSecurityAccess(persist.getUUID());
      if (!((access & IRepository.VIEWABLE) != 0))       return null;
    }
    WebFormComponent webComponent=new WebFormComponent(name,fe,dataAdapterList);
    if (parentToAddTo != null)     parentToAddTo.add(webComponent);
    WebComponentSpecification componentSpec=fe.getWebComponentSpec(false);
    for (    String propName : fe.getRawPropertyValues().keySet()) {
      if (componentSpec.getProperty(propName) == null)       continue;
      Object value=fe.getPropertyValueConvertedForWebComponent(propName,webComponent,(DataAdapterList)dataAdapterList);
      if (value == null)       continue;
      fillProperty(value,fe.getPropertyValue(propName),componentSpec.getProperty(propName),webComponent);
    }
    if (persist != null) {
      int elementSecurity;
      if (persist.getParent() instanceof Portal) {
        elementSecurity=application.getFlattenedSolution().getSecurityAccess(((Portal)persist.getParent()).getUUID());
      }
 else {
        elementSecurity=access;
      }
      if (!((elementSecurity & IRepository.ACCESSIBLE) != 0)) {
        webComponent.setProperty("String_Node_Str",false);
      }
 else {
        int formSecurity=application.getFlattenedSolution().getSecurityAccess(fe.getForm().getUUID());
        if (!((formSecurity & IRepository.ACCESSIBLE) != 0)) {
          webComponent.setProperty("String_Node_Str",false);
        }
      }
    }
    for (    String eventName : componentSpec.getHandlers().keySet()) {
      Object eventValue=fe.getPropertyValue(eventName);
      if (eventValue instanceof String) {
        UUID uuid=UUID.fromString((String)eventValue);
        IPersist function=application.getFlattenedSolution().searchPersist(uuid);
        if (function != null) {
          webComponent.add(eventName,function.getID());
        }
 else {
          Debug.warn("String_Node_Str" + eventName + "String_Node_Str"+ fe.getForm().getName()+ "String_Node_Str"+ fe.getName()+ "String_Node_Str");
        }
      }
 else       if (eventValue instanceof Number && ((Number)eventValue).intValue() > 0) {
        webComponent.add(eventName,((Number)eventValue).intValue());
      }
    }
    webComponent.clearChanges();
    return webComponent;
  }
  return null;
}