public static String evalReturnDescription(IMethodInfo method) {
   if (method instanceof IGosuMethodInfo) {
     List<IAnnotationInfo> annotation =
         method.getAnnotationsOfType(JavaTypes.getGosuType(gw.lang.Returns.class));
     if (annotation.size() > 0) {
       return (String) annotation.get(0).getFieldValue("value");
     }
   } else {
     return method.getReturnDescription();
   }
   return "";
 }
  public void setMethodDescriptor(IMethodInfo md) {
    _md = md;

    if (md != null) {
      IType type = JavaTypes.IGOSU_OBJECT();
      if (_md.getOwnersType() == IGosuClassInternal.Util.getGosuClassFrom(type)) {
        _md =
            type.getTypeInfo()
                .getMethod(
                    _md.getDisplayName(),
                    ((FunctionType) ((IGosuMethodInfo) _md).getDfs().getType())
                        .getParameterTypes());
      }
    }
  }