/**
  * @param p1
  * @param p2
  * @return true if same
  */
 public static boolean isSame(DesignPosition p1, DesignPosition p2) {
   if (p1 == p2) {
     return true;
   }
   if (p1.getContainerNode() == p2.getContainerNode() && p1.getOffset() == p2.getOffset()) {
     return true;
   }
   return false;
 }
  /*
   * (non-Javadoc)
   *
   * @see org.eclipse.gef.editpolicies.AbstractEditPolicy#getTargetEditPart(org.eclipse.gef.Request)
   */
  public EditPart getTargetEditPart(Request request) {
    if (request instanceof ItemCreationRequest) {
      DesignPosition position = findPosition((ItemCreationRequest) request);

      if (position == null) {
        return null;
      }

      EditPart container = position.getContainerPart();
      return container;
    }
    return null;
  }