### Code Design
* Model is based on Objects and not primitives that allows nullify requests and have null values for data
that wasn't provided by docker daemon.
* For null safeness findbugs annotations are used.
** Every method that may return `null` (and we are unsure in any fields as docker daemon may change something)
should be annotated with `@CheckForNull` return qualifier from `javax.annotation` package.
** Methods that can't return `null` must be annotated with `@Nonnull`.
** The same for Arguments.
** `@Nullable` must be used only for changing inherited (other typed) qualifier.
* Setters in builder style must be prefixed with `withXX`.
* All classes should provide `toString()` `equals()` and `hashCode()` defined methods.
* Javadocs
** Provide full information on field:
*** For models define API version with `@since {@link RemoteApiVersion#VERSION_1_X}`.
** getters/setters should refernce to field `@see #$field`.
### Coding style
* TBD, some initial styling already enforced with checkstyle.
IDEA/checkstyle file analogues will be provided soon.
### Testing
* Unit tests for serder (serialization-deserialization).
* Integration tests for commands.
* If model object has builders, then fill it with data and compare by `equals()` with expected response
from docker daemon. If failed, then some fields mappings are wrong.