code: public static JaxInfo build(Class<?> cls, String ... rootNns) throws SecurityException, NoSuchFieldException, ClassNotFoundException, ParseException {
  		String defaultNS;
  		if(rootNns.length>0 && rootNns[0]!=null) {
  			defaultNS = rootNns[0];
  		} else {
  			Package pkg = cls.getPackage();
  			XmlSchema xs = pkg.getAnnotation(XmlSchema.class);
  			defaultNS = xs==null?"":xs.namespace();
  		}
  		String name;
  		if(rootNns.length>1) {
  			name = rootNns[1];
  		} else {
  			XmlRootElement xre = cls.getAnnotation(XmlRootElement.class);
  			if(xre!=null) {
  				name = xre.name();
  			} else {
  				XmlType xt = cls.getAnnotation(XmlType.class);
  				if(xt!=null) {
  					name=xt.name();
  				} else {
  					throw new ParseException("Need a JAXB Object with XmlRootElement, or stipulate in parms");
  				}
  			}
  		}
  		
  		return new JaxInfo(name,defaultNS, cls,buildFields(cls,defaultNS),false,false,false,false);
  	}
docs: Build up JAXB Information (recursively)
  
  @param cls
  @param rootNns
  @return
  @throws SecurityException
  @throws NoSuchFieldException
  @throws ClassNotFoundException
  @throws ParseException