Adaptors hide adaptation up to certain limit, but there are still two aspects affecting the application:
Though the adaptor concept is a means to enhance transparency, the adaptors themselves lead to a different way of programming than needed for static customization.
Invocation of adaptable methods differs from ordinary local method calls, because an invocation of an adaptable method involves a selection of an implementation class requiring communication over the network with the repository. This implies two additional exceptions: The communication with the repository may fail due to a network error and the selection of an implementation class may fail because of a missing suitable implementation class for the current environment. These exceptional cases are mapped to one exception corresponding to the generic Java class not found exception .