Program: 118532
Project: 118532
Buggy source:
@Override protected boolean updateMetadataTable(Connection oldConnection,Connection genericConnection,ComponentProperties componentProperties){
  boolean modified=false;
  if (oldConnection == null || genericConnection == null || componentProperties == null) {
    return modified;
  }
  Set<MetadataTable> tables=ConnectionHelper.getTables(oldConnection);
  Set<MetadataTable> newTables=new HashSet<>();
  newTables.addAll(tables);
  for (  MetadataTable metaTable : newTables) {
    try {
      Object object=ReflectionUtils.newInstance(REFLECTION_SALESFORCE_MODULE_PROPERTIES,componentProperties.getClass().getClassLoader(),new Object[]{metaTable.getName()});
      if (object != null && object instanceof ComponentProperties) {
        ComponentProperties salesforceModuleProperties=(ComponentProperties)object;
        TaggedValue serializedPropsTV=CoreFactory.eINSTANCE.createTaggedValue();
        serializedPropsTV.setTag(IComponentConstants.COMPONENT_PROPERTIES_TAG);
        serializedPropsTV.setValue(salesforceModuleProperties.toSerialized());
        metaTable.getTaggedValue().add(serializedPropsTV);
        TaggedValue schemaPropertyTV=CoreFactory.eINSTANCE.createTaggedValue();
        schemaPropertyTV.setTag(IComponentConstants.COMPONENT_SCHEMA_TAG);
        schemaPropertyTV.setValue(SCHEMA_SCHEMA);
        metaTable.getTaggedValue().add(schemaPropertyTV);
        Schema schema=SchemaUtils.convertTalendSchemaIntoComponentSchema(metaTable);
        salesforceModuleProperties.setValue(SCHEMA_SCHEMA,schema);
        ((orgomg.cwm.objectmodel.core.Package)genericConnection).getOwnedElement().add(metaTable);
        modified=true;
      }
    }
 catch (    Exception e) {
      ExceptionHandler.process(e);
    }
  }
  return modified;
}

Fixed version (ground truth):
@Override protected boolean updateMetadataTable(Connection oldConnection,Connection genericConnection,ComponentProperties componentProperties){
  boolean modified=false;
  if (oldConnection == null || genericConnection == null || componentProperties == null) {
    return modified;
  }
  Set<MetadataTable> tables=ConnectionHelper.getTables(oldConnection);
  Set<MetadataTable> newTables=new HashSet<>();
  newTables.addAll(tables);
  for (  MetadataTable metaTable : newTables) {
    try {
      Object object=ReflectionUtils.newInstance(REFLECTION_SALESFORCE_MODULE_PROPERTIES,componentProperties.getClass().getClassLoader(),new Object[]{metaTable.getName()});
      if (object != null && object instanceof ComponentProperties) {
        ComponentProperties salesforceModuleProperties=(ComponentProperties)object;
        salesforceModuleProperties.getProperties("String_Node_Str").copyValuesFrom(componentProperties);
        copyTaggedValues(componentProperties,salesforceModuleProperties.getProperties("String_Node_Str"));
        NamedThing tmp=salesforceModuleProperties.getProperty("String_Node_Str");
        ((Property)tmp).setTaggedValue(IGenericConstants.REPOSITORY_VALUE,"String_Node_Str");
        ((Property)tmp).setValue(metaTable.getLabel());
        TaggedValue serializedPropsTV=CoreFactory.eINSTANCE.createTaggedValue();
        serializedPropsTV.setTag(IComponentConstants.COMPONENT_PROPERTIES_TAG);
        serializedPropsTV.setValue(salesforceModuleProperties.toSerialized());
        metaTable.getTaggedValue().add(serializedPropsTV);
        TaggedValue schemaPropertyTV=CoreFactory.eINSTANCE.createTaggedValue();
        schemaPropertyTV.setTag(IComponentConstants.COMPONENT_SCHEMA_TAG);
        schemaPropertyTV.setValue(SCHEMA_SCHEMA);
        metaTable.getTaggedValue().add(schemaPropertyTV);
        Schema schema=SchemaUtils.convertTalendSchemaIntoComponentSchema(metaTable);
        salesforceModuleProperties.setValue(SCHEMA_SCHEMA,schema);
        ((orgomg.cwm.objectmodel.core.Package)genericConnection).getOwnedElement().add(metaTable);
        modified=true;
      }
    }
 catch (    Exception e) {
      ExceptionHandler.process(e);
    }
  }
  return modified;
}