private static List<IAnnotationInfo> evalThrows(IAnnotatedFeatureInfo typeInfo) {
   List<IAnnotationInfo> throwsLst = new ArrayList<IAnnotationInfo>();
   try {
     for (IAnnotationInfo annotationInfo : typeInfo.getAnnotationsOfType(JavaTypes.THROWS())) {
       throwsLst.add(annotationInfo);
     }
   } catch (Exception e) {
     // ignore
   }
   return throwsLst;
 }
 public static String evalDeprecationReason(IAnnotatedFeatureInfo featureInfo) {
   if (isGosuFeature(featureInfo)) {
     String deprecatedReason = "";
     List<IAnnotationInfo> annotation =
         featureInfo.getAnnotationsOfType(JavaTypes.GW_LANG_DEPRECATED());
     if (annotation.size() > 0) {
       try {
         IAnnotationInfo annotationInfo = annotation.get(0);
         if (annotationInfo != null) {
           deprecatedReason = (String) annotationInfo.getFieldValue("value");
         }
       } catch (Exception e) {
         // ignore
       }
     }
     return deprecatedReason;
   } else {
     return featureInfo.getDeprecatedReason();
   }
 }
 public static boolean evalIsHidden(IAnnotatedFeatureInfo featureInfo) {
   // equivelent to method.isVisible( ScriptabilityModifiers.SCRIPTABLE_WEBSERVICE)
   return !featureInfo.getAnnotationsOfType(JavaTypes.INTERNAL_API()).isEmpty();
 }