public void addFeature ( FeatureInterface < AbstractSequence < C > , C > feature ) { features . add ( feature ) ; ArrayList < FeatureInterface < AbstractSequence < C > , C > > featureList = groupedFeatures . get ( feature . getType ( ) ) ; if ( featureList == null ) { featureList = new ArrayList < FeatureInterface < AbstractSequence < C > , C > > ( ) ; groupedFeatures . put ( feature . getType ( ) , featureList ) ; } featureList . add ( feature ) ; Collections . sort ( features , AbstractFeature . LOCATION_LENGTH ) ; Collections . sort ( featureList , AbstractFeature . LOCATION_LENGTH ) ; }
Add a feature to this sequence . The feature will be added to the collection where the order is start position and if more than one feature at the same start position then longest is added first . This helps on doing feature layout for displaying features in SequenceFeaturePanel