+ int res = evt.getX()/av.getCharWidth() + av.getStartRes();\r
+ int seq = evt.getY()/av.getCharHeight() + av.getStartSeq();\r
+ oldSeq = seq;\r
+\r
+ SequenceI sequence = (Sequence) av.getAlignment().getSequenceAt(seq);\r
+ if(res>sequence.getLength())\r
+ return;\r
+\r
+ stretchGroup = av.getRubberbandGroup();\r
+\r
+ if(stretchGroup == null)\r
+ {\r
+ stretchGroup = av.alignment.findGroup( sequence );\r
+ av.setRubberbandGroup( stretchGroup );\r
+ }\r
+\r
+ else if(!stretchGroup.sequences.contains(sequence)\r
+ || stretchGroup.getStartRes()>res\r
+ || stretchGroup.getEndRes()<res)\r
+ {\r
+ stretchGroup = null;\r
+\r
+ SequenceGroup[] allGroups = av.alignment.findAllGroups( sequence );\r
+\r
+ if (allGroups != null)\r
+ for (int i = 0; i < allGroups.length; i++)\r
+ if (allGroups[i].getStartRes() <= res &&\r
+ allGroups[i].getEndRes() >= res)\r
+ {\r
+ stretchGroup = allGroups[i];\r
+ av.setRubberbandGroup(stretchGroup);\r
+ break;\r
+ }\r
+ }\r
+\r
+ if(stretchGroup==null)\r