Shape shape;
Point3fi pt = null;
if ((shape = shapes[JmolConstants.SHAPE_ISOSURFACE]) != null
&& (viewer.getDrawPicking() || viewer.getNavigationMode() && viewer.getNavigateSurface())
&& (pt = shape.checkObjectClicked(x, y, modifiers, bsVisible)) != null)
return new Token(Token.isosurface, pt);
if (modifiers != 0 && viewer.getBondPicking()
&& (pt = shapes[JmolConstants.SHAPE_STICKS].checkObjectClicked(x, y,
modifiers, bsVisible)) != null)
return new Token(Token.bonds, pt);
if ((shape = shapes[JmolConstants.SHAPE_ECHO])!= null && modifiers != 0
&& (pt = shape.checkObjectClicked(x, y, modifiers, bsVisible)) != null)
return new Token(Token.echo, pt);
if ((shape = shapes[JmolConstants.SHAPE_DRAW]) != null &&
(pt = shape.checkObjectClicked(x, y, modifiers, bsVisible)) != null)
return new Token(Token.draw, pt);
return null;
}