public MultiTouchDrawable getDraggableObjectAtPoint(PointInfo pt) {
    float x = pt.getX(), y = pt.getY();
    int n = subDrawables.size();
    for (int i = n - 1; i >= 0; i--) {
      MultiTouchDrawable im = subDrawables.get(i);

      if (im.isDragable() && im.containsPoint(x, y)) {
        return im.getDraggableObjectAtPoint(pt);
      }
    }

    if (this.containsPoint(pt.getX(), pt.getY())) {
      return this;
    }

    return null;
  }