CustomFieldTypeDescriptor - get HTML input field

Several days ago I created a topic where I asked how to get the HTML Input Element of a Customfield Object

Unfortunetly nobody answered so I had to try it on my own. After a few days of “try and error” I found out how to get the input element for a specific customfield. The object which is needed is the CustomFieldTypeModuleDescriptor

The “getEditHtml” function is the correct one but its not working everytime…it depends on the type of the field.
SingleSelect fields are working fine, but if I chose a datepicker field it wont work as expected because the datepicker aui resources arent acctually loaded. I fixed it by require the correct resource. But if I choose a UserSelect field it will be renderered with the message that I dont have the permission to browse users…but I actually have the permission.

Right now I have a few questions that need to be answered:

What is the difference between getEditHtml and getEditDefaultHtml?
What should be in the customFieldValuesHolder Map Parameter?
What should be in the displayParameter Map?
Why do I need to pass a issue object? Doesn’t make sence to me. And why can I pass a null value as issue parameter? What consequences does it have when I pass null?
Why do I need to pass a action object? I dont have any webwork actions, I used a ContextProvider for my view. And why can I pass null again? Consequences?! And when I acctually can pass null values why isnt it documented at the api?