Field extends FieldMap { @NotNull public Class getType() { return typeClass; } Field(@NotNull java.lang.reflect.Field field);   Field(@NotNull java.lang.reflect.Field field, @Nullable FieldMap children); @Nullable static FieldInstance getInstance(@NotNull Object object, @NotNull String... name); String getName(); boolean hasChildFields(); boolean isPersistable(); boolean isImmutable(); @Nullable Class getSerializerClass(); @NotNull Serializer getSerializer(); @NotNull Serializer getSerializer(@NotNull SerializerSet serializerSet); @Nullable Validator getValidator(); @Nullable Object getValue(@NotNull Object object); void setValue(@NotNull Object object, @Nullable Object value); void forceSet(@NotNull Object object, @Nullable Object value); @NotNull Class getType(); @Nullable Class getCollectionType(); @Nullable Class getMapType(); @NotNull PropertyHandler getPropertyHandler(); @Nullable String getDescription(); @Nullable String[] getComments(); @Override String toString();  }
@Test public void testVirtualPropertyType() throws Exception { FieldMap fieldMap = FieldMapper.getFieldMap(Comprehensive.class); Field field = fieldMap.getField("virtualEnum"); assertEquals(Anum.class, field.getType()); }