public static Property createProperty( Method method, AccessMode mode ) {
com.codiform.moo.annotation.Property propertyAnnotation = method.getAnnotation( com.codiform.moo.annotation.Property.class );
com.codiform.moo.annotation.CollectionProperty collectionAnnotation = method
.getAnnotation( com.codiform.moo.annotation.CollectionProperty.class );
com.codiform.moo.annotation.MapProperty mapAnnotation = method.getAnnotation( com.codiform.moo.annotation.MapProperty.class );
Ignore ignoreAnnotation = method.getAnnotation( Ignore.class );
String methodName = method.getName();
String propertyName = getPropertyName( methodName );
Class<?>[] parameters = method.getParameterTypes();
boolean explicit = isExplicit( ignoreAnnotation, propertyAnnotation, collectionAnnotation );