code: public List<String> getFieldNamesPlusParents() {
          List<String> tmp = new ArrayList<String>();
          tmp.addAll(getFieldNames());
          if (extend != null && !extend.equals("")) {
              Struct parent = contract.getStructs().get(extend);
              tmp.addAll(parent.getFieldNamesPlusParents());
          }
          return tmp;
      }
docs: Returns a List of the Field names belonging to this Struct and all its ancestors.