code: public static String[] getFieldNames(Field[] fields) {
  		String[] names = new String[fields.length];
  		for(int i=0;i<fields.length;i++) {
  			Field f = fields[i];
  			f.setAccessible(true);
  			String rawName = fields[i].getName();
  			CIFLabel cifLabel = f.getAnnotation(CIFLabel.class);
  			if(cifLabel != null) {
  				names[i] = cifLabel.label();
  			} else {
  				names[i] = rawName;
  			}
  		}
  		return names;
  	}
docs: Gets the mmCIF record name for each field. This is generally just
  the name of the field or the value specified by the {@link CIFLabel @CIFLabel} annotation.
  
  As a side effect, calls {@link Field#setAccessible(boolean) setAccessible(true)}
  on all fields.
  @param fields
  @return