@SuppressWarnings("unchecked")
    protected void checkClass(Class clazz) {
    
        // See if the class has a public no-arg constructor
        try {
            savedCtors.put(clazz, clazz.getConstructor());
            return;
        } catch( NoSuchMethodException e ) {
            //throw new RuntimeException( "Registration error: no-argument constructor not found on:" + clazz ); 
        }
        
        // See if it has a non-public no-arg constructor
        try {
            Constructor ctor = clazz.getDeclaredConstructor();
            
            // Make sure we can call it later.
            ctor.setAccessible(true);
             
            savedCtors.put(clazz, ctor);
            return;
        } catch( NoSuchMethodException e ) {
        }
        
        throw new RuntimeException( "Registration error: no-argument constructor not found on:" + clazz );  
    }
The field serializer is the default serializer used for custom class.

@author Lars Wesselius, Nathan Sweet
jme3-networking/src/main/java/com/jme3/network/serializing/serializers/FieldSerializer.java