Source:
public boolean updateProductOptions(@NonNull TaskData taskData) { if (taskData == null) { return false; } TaskAttribute attributeProduct = taskData.getRoot().getMappedAttribute(SCHEMA.PRODUCT.getKey()); if (attributeProduct != null && !attributeProduct.getValue().isEmpty()) { Product actualProduct = getProductWithName(attributeProduct.getValue()); TaskAttribute attributeComponent = taskData.getRoot().getMappedAttribute(SCHEMA.COMPONENT.getKey()); if (attributeComponent != null) { setAttributeOptionsForProduct(attributeComponent, actualProduct); } TaskAttribute attributeVersion = taskData.getRoot().getMappedAttribute(SCHEMA.VERSION.getKey()); if (attributeVersion != null) { setAttributeOptionsForProduct(attributeVersion, actualProduct); } TaskAttribute attributeTargetMilestone = taskData.getRoot() .getMappedAttribute(SCHEMA.TARGET_MILESTONE.getKey()); if (attributeTargetMilestone != null) { setAttributeOptionsForProduct(attributeTargetMilestone, actualProduct); } } else { if (attributeProduct != null) { for (Product product : getProducts().values()) { attributeProduct.putOption(product.getName(), product.getName()); } } TaskAttribute attributeComponent = taskData.getRoot().getMappedAttribute(SCHEMA.COMPONENT.getKey()); if (attributeComponent != null) { setAllAttributeOptions(attributeComponent, getFieldWithName("component")); } TaskAttribute attributeVersion = taskData.getRoot().getMappedAttribute(SCHEMA.VERSION.getKey()); if (attributeVersion != null) { setAllAttributeOptions(attributeVersion, getFieldWithName("version")); } TaskAttribute attributeTargetMilestone = taskData.getRoot() .getMappedAttribute(SCHEMA.TARGET_MILESTONE.getKey()); if (attributeTargetMilestone != null) { setAllAttributeOptions(attributeTargetMilestone, getFieldWithName("target_milestone")); } } return true; }

Target:
public boolean updateProductOptions(@NonNull TaskData taskData) { if (taskData == null) { return false; } TaskAttribute attributeProduct = taskData.getRoot().getMappedAttribute(SCHEMA.PRODUCT.getKey()); if (!attributeProduct.getValue().isEmpty()) { Product actualProduct = getProductWithName(attributeProduct.getValue()); TaskAttribute attributeComponent = taskData.getRoot().getMappedAttribute(SCHEMA.COMPONENT.getKey()); if (attributeComponent != null) { setAttributeOptionsForProduct(attributeComponent, actualProduct); } TaskAttribute attributeVersion = taskData.getRoot().getMappedAttribute(SCHEMA.VERSION.getKey()); if (attributeVersion != null) { setAttributeOptionsForProduct(attributeVersion, actualProduct); } TaskAttribute attributeTargetMilestone = taskData.getRoot() .getMappedAttribute(SCHEMA.TARGET_MILESTONE.getKey()); if (attributeTargetMilestone != null) { setAttributeOptionsForProduct(attributeTargetMilestone, actualProduct); } } else { for (Product product : getProducts().values()) { attributeProduct.putOption(product.getName(), product.getName()); } TaskAttribute attributeComponent = taskData.getRoot().getMappedAttribute(SCHEMA.COMPONENT.getKey()); if (attributeComponent != null) { setAllAttributeOptions(attributeComponent, getFieldWithName("component")); } TaskAttribute attributeVersion = taskData.getRoot().getMappedAttribute(SCHEMA.VERSION.getKey()); if (attributeVersion != null) { setAllAttributeOptions(attributeVersion, getFieldWithName("version")); } TaskAttribute attributeTargetMilestone = taskData.getRoot() .getMappedAttribute(SCHEMA.TARGET_MILESTONE.getKey()); if (attributeTargetMilestone != null) { setAllAttributeOptions(attributeTargetMilestone, getFieldWithName("target_milestone")); } } return true; }