@Override
  public void publish(Map<String, Object> objects, Element model) throws NoSuchObjectException, NoSuchMethodException, IllegalAccessException, InvocationTargetException
  {
    // Create element at path
    Element e = DocumentHelper.makeElement(model, mPath);

    // Content
    if (null != mContent)
    {
      mContent.publish(e);
    }

    // Bean
    if (null != mBeanProperty)
    {
      Object bean = objects.get(mBeanProperty.getObject());
      if (null == bean)
      {
        throw new NoSuchObjectException(mBeanProperty.getObject());
      }
      Object obj = PropertyUtils.getProperty(bean, mBeanProperty.getPath());
      if (null != obj)
      {
        String methodName = mBeanProperty.getMethod();
        if (null != methodName)
        {
          // a_Need to invoke a method
          Object resultObj = MethodUtils.invokeExactMethod(obj, mBeanProperty.getMethod(), mBeanProperty.getMethodParam());
          if (null != resultObj)
          {
            e.addCDATA(resultObj.toString());
          }
        }
        else
        {
          e.addCDATA(obj.toString());
        }
      }
    }
  }