docs: private static int[] lookupClasses() {
  		Class<?> annotationMemberArrayClazz;
  		try {
  			annotationFactoryClazz = Class.forName("org.apache.harmony.lang.annotation.AnnotationFactory");
  			annotationMemberClazz = Class.forName("org.apache.harmony.lang.annotation.AnnotationMember");
  			annotationMemberArrayClazz = Class.forName("[Lorg.apache.harmony.lang.annotation.AnnotationMember;");
  		} catch (ClassNotFoundException e) {
  			return null;
  		}
  
  		Field fieldField;
  		try {
  			elementsField = annotationFactoryClazz.getDeclaredField("elements");
  			elementsField.setAccessible(true);
  
  			nameField = annotationMemberClazz.getDeclaredField("name");
  			nameField.setAccessible(true);
  			valueField = annotationMemberClazz.getDeclaredField("value");
  			valueField.setAccessible(true);
  
  			fieldField = DatabaseFieldSample.class.getDeclaredField("field");
  		} catch (SecurityException e) {
  			return null;
  		} catch (NoSuchFieldException e) {
  			return null;
  		}
  
  		DatabaseField databaseField = fieldField.getAnnotation(DatabaseField.class);
  		InvocationHandler proxy = Proxy.getInvocationHandler(databaseField);
  		if (proxy.getClass() != annotationFactoryClazz) {
  			return null;
  		}
  
  		try {
  			// this should be an array of AnnotationMember objects
  			Object elements = elementsField.get(proxy);
  			if (elements == null || elements.getClass() != annotationMemberArrayClazz) {
  				return null;
  			}
  
  			Object[] elementArray = (Object[]) elements;
  			int[] configNums = new int[elementArray.length];
  
  			// build our array of field-numbers that match the AnnotationMember array
  			for (int i = 0; i < elementArray.length; i++) {
  				String name = (String) nameField.get(elementArray[i]);
  				configNums[i] = configFieldNameToNum(name);
  			}
  			return configNums;
  		} catch (IllegalAccessException e) {
  			return null;
  		}
  	}