SequenceI asq = alignment.getSequenceAt(i);
for (String group : asq.getFeatures().getFeatureGroups(true))
{
- if (group == null)
+ /*
+ * features in null group are always displayed; other groups
+ * keep their current visibility; new groups as 'newMadeVisible'
+ */
+ boolean groupDisplayed = true;
+ if (group != null)
{
- continue;
- }
- Boolean groupDisplayed = featureGroups.get(group);
- if (groupDisplayed == null)
- {
- groupDisplayed = Boolean.valueOf(newMadeVisible);
- featureGroups.put(group, groupDisplayed);
+ if (featureGroups.containsKey(group))
+ {
+ groupDisplayed = featureGroups.get(group);
+ }
+ else
+ {
+ groupDisplayed = newMadeVisible;
+ featureGroups.put(group, groupDisplayed);
+ }
}
if (groupDisplayed)
{