private void bindAccessors( Class<T> proxyClass, ClassDefinition tdef, ClassDefinition cdef, long mask ) {
int j = 0;
for ( FieldDefinition traitField : tdef.getFieldsDefinitions() ) {
boolean isSoftField = TraitRegistry.isSoftField( traitField, j++, mask );
if ( ! isSoftField ) {
FieldDefinition field = cdef.getField( traitField.resolveAlias( cdef ) );
Field staticField;
try {
staticField = proxyClass.getField( traitField.getName() + "_reader" );
staticField.set( null, field.getFieldAccessor().getReadAccessor() );
staticField = proxyClass.getField( traitField.getName() + "_writer" );
staticField.set( null, field.getFieldAccessor().getWriteAccessor() );
} catch (NoSuchFieldException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (IllegalAccessException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}