Source:
<code>public Map<String, String> getOptions(@NonNull TaskAttribute attribute) { if (attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().TARGET_MILESTONE.getKey()) || attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().VERSION.getKey()) || attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().COMPONENT.getKey())) { TaskAttribute productAttribute = attribute.getParentAttribute() .getAttribute(BugzillaRestCreateTaskSchema.getDefault().PRODUCT.getKey()); BugzillaRestConfiguration repositoryConfiguration; try { repositoryConfiguration = connector.getRepositoryConfiguration(this.getTaskRepository()); if (repositoryConfiguration != null) { if (!productAttribute.getValue().equals("")) { boolean found = false; <START> String actualValue = attribute.getValue(); <END> attribute.clearOptions(); for (String productName : productAttribute.getValues()) { Product actualProduct = repositoryConfiguration.getProductWithName(productName); if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().COMPONENT.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualValue, actualProduct.getComponents())) { found = true; } } else if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().TARGET_MILESTONE.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualValue, actualProduct.getMilestones())) { found = true; } } else if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().VERSION.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualValue, actualProduct.getVersions())) { found = true; } } } if (!found) { attribute.setValue(""); } } } } catch (CoreException e) { StatusHandler.log(new RepositoryStatus(getTaskRepository(), IStatus.ERROR, BugzillaRestCore.ID_PLUGIN, 0, "Failed to obtain repository configuration", e)); } } return super.getOptions(attribute); }</code><technical_language>this is internalSetAttributeOptions4Product, get attribute</technical_language>

Target:
public Map<String, String> getOptions(@NonNull TaskAttribute attribute) { if (attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().TARGET_MILESTONE.getKey()) || attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().VERSION.getKey()) || attribute.getId().equals(BugzillaRestCreateTaskSchema.getDefault().COMPONENT.getKey())) { TaskAttribute productAttribute = attribute.getParentAttribute() .getAttribute(BugzillaRestCreateTaskSchema.getDefault().PRODUCT.getKey()); BugzillaRestConfiguration repositoryConfiguration; try { repositoryConfiguration = connector.getRepositoryConfiguration(this.getTaskRepository()); if (repositoryConfiguration != null) { if (!productAttribute.getValue().equals("")) { boolean found = false; attribute.clearOptions(); for (String productName : productAttribute.getValues()) { Product actualProduct = repositoryConfiguration.getProductWithName(productName); if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().COMPONENT.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualProduct.getComponents())) { found = true; } } else if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().TARGET_MILESTONE.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualProduct.getMilestones())) { found = true; } } else if (attribute.getId() .equals(BugzillaRestCreateTaskSchema.getDefault().VERSION.getKey())) { if (internalSetAttributeOptions4Product(attribute, actualProduct.getVersions())) { found = true; } } } if (!found) { attribute.setValue(""); } } } } catch (CoreException e) { StatusHandler.log(new RepositoryStatus(getTaskRepository(), IStatus.ERROR, BugzillaRestCore.ID_PLUGIN, 0, "Failed to obtain repository configuration", e)); } } return super.getOptions(attribute); }