static boolean pojo(Class<?> clazz, Morph morph, IdStrategy strategy)
    {
        if (Modifier.isFinal(clazz.getModifiers()))
            return true;

        // check if user mapped an impl to this class
        if (Modifier.isAbstract(clazz.getModifiers()))
            return strategy.isRegistered(clazz);

        // the user can annotate fields with @Morph to have full control if
        // he knows a certain field will be set with a subtype.
        // To reverse the behavior (no subtype will be set), annotate with
        // @Morph(false)
        // This is an optimization that requires the user's full knowledge of
        // his dataset.
        if (morph != null)
            return !morph.value();

        return 0 == (IdStrategy.MORPH_NON_FINAL_POJOS & strategy.flags);
    }
Gets the runtime field factory of the given {@code clazz}.
protostuff-runtime/src/main/java/io/protostuff/runtime/RuntimeFieldFactory.java