From 654518f8a5bfc1784eb8cf55dd5edf731cdf1997 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 03 Jan 2012 17:05:22 +0000
Subject: [PATCH] Fix OPENDJ-394: Do not declare unchecked exceptions in method declarations

---
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/ConnectionDecorator.java                                    |  118 -
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractEntry.java                                          |   24 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java                     |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPConnectionFactory.java                                  |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java                                 |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java                                         |   25 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableExternalSASLBindRequestImpl.java       |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCancelExtendedRequestImpl.java         |   23 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequestImpl.java             |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequest.java                         |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferReader.java                                       |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequestImpl.java                           |   13 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Request.java                                       |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyDNRequestImpl.java               |   70 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java             |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java                                 |   13 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferWriter.java                                       |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java                   |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java                                          |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableWhoAmIExtendedResultImpl.java         |   15 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequestImpl.java                             |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAnonymousSASLBindRequestImpl.java      |   15 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteString.java                                             |   16 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequest.java                                    |   59 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableUnbindRequestImpl.java                 |   10 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPOptions.java                                            |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java                       |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGSSAPISASLBindRequestImpl.java         |  114 +
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java                                     |   67 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java                                          |   67 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractIntermediateResponse.java                 |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResultImpl.java               |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/IntermediateResponse.java                         |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequest.java                       |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractMapEntry.java                                       |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java                        |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequest.java                                |   27 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java                                                  |   55 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSearchRequestImpl.java                 |   98 
 opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-src.xml                           |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponseImpl.java              |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RootDSE.java                                                |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java                                |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultIOException.java                                 |    2 
 opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-unit-tests.xml                    |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java                                            |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java                                        |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDeleteRequestImpl.java                 |   33 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java                                            |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connections.java                                            |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java                |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPConnection.java                                         |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java            |  163 +
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ResultImpl.java                                   |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListenerOptions.java                                    |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResultImpl.java                    |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequestImpl.java                    |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePasswordModifyExtendedRequestImpl.java |   56 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java                    |  155 +
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1InputStreamReader.java                                  |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePlainSASLBindRequestImpl.java          |   41 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java                           |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReference.java                        |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java                        |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Writer.java                                             |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SASLBindRequest.java                               |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Base64.java                                                 |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java                                             |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java                        |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequest.java                            |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteStringBuilder.java                                      |   28 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponse.java                  |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/CompletedFutureResult.java                                  |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java                                        |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java                       |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestImpl.java                     |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequestImpl.java                            |   13 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java                                     |   16 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryReader.java                                            |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractExtendedRequest.java                       |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericIntermediateResponseImpl.java  |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java        |    6 
 opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthenticatedConnectionFactory.java               |   15 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntry.java                            |   58 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericExtendedResultImpl.java        |   20 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequestImpl.java                             |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/SubstringReader.java                                        |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequestImpl.java                             |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResult.java                       |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResultImpl.java                               |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequest.java                                |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequestImpl.java                  |   15 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java                                   |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericExtendedRequestImpl.java        |   20 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResult.java                                   |   22 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedResult.java               |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequestImpl.java                  |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequest.java                 |   24 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/StaticUtils.java                                            |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ServerConnection.java                                       |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java                           |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableWhoAmIExtendedRequestImpl.java         |   11 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java                                  |   13 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/FixedConnectionPool.java                                    |  120 -
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java                |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java                   |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1ByteSequenceReader.java                                 |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attribute.java                                              |   50 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequest.java                         |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java                 |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequest.java                          |   22 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java              |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequestImpl.java                      |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestContext.java                                         |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResult.java                        |   26 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequest.java                        |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java                 |   21 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedAttribute.java                                        |   38 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCRAMMD5SASLBindRequestImpl.java        |   31 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSimpleBindRequestImpl.java             |   28 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java                 |   55 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExtendedRequest.java                               |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReferenceImpl.java                    |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchResultReferenceIOException.java                       |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java          |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequestImpl.java                             |   13 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequest.java                                 |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAbandonRequestImpl.java                |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Responses.java                                    |   50 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java                                  |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Result.java                                       |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java                 |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequest.java                      |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResult.java                 |   27 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connection.java                                             |  147 -
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java                                     |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequest.java                         |   45 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequestImpl.java                    |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResult.java                         |   26 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequest.java                      |   43 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequest.java                       |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericBindRequestImpl.java            |   28 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequestImpl.java                                |   36 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java                                           |   14 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCompareRequestImpl.java                |   63 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListener.java                                           |   16 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIF.java                                                   |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/EntryFactory.java                                           |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractRequestImpl.java                           |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequest.java                                 |   21 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequestImpl.java                   |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequestImpl.java                            |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequestImpl.java                   |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequest.java                               |   29 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java                                   |   69 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntryImpl.java                        |   32 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Filter.java                                                 |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Validator.java                                              |   11 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java                |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java                                   |   24 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java                                     |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnection.java                         |   31 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequest.java                        |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResultImpl.java                            |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java                 |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequestImpl.java                     |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaValidationPolicy.java                          |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java                   |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java                  |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequest.java                                 |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RDN.java                                                    |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/getinfo/Main.java                              |  101 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SortKey.java                                                |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResultImpl.java             |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java                                           |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java                               |   10 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entries.java                                                |   34 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Response.java                                     |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeFactory.java                                       |    4 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableCompareResultImpl.java                |   15 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiablePasswordModifyExtendedResultImpl.java |   21 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java                         |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java                         |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableResultImpl.java                       |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResultImpl.java                     |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLEncoderTransformer.java                                 |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableBindResultImpl.java                   |   26 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDigestMD5SASLBindRequestImpl.java      |  108 +
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DN.java                                                     |   29 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Reader.java                                             |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java                   |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequest.java                                 |   38 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attributes.java                                             |   54 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResultImpl.java                           |    8 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/BindRequest.java                                   |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequest.java                             |   16 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResponseImpl.java                         |    7 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequestImpl.java                        |    6 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequestImpl.java                     |    2 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequenceReader.java                                     |   22 
 opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/proxy/Main.java                                |   10 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/InternalConnection.java                                     |   23 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPUrl.java                                                |   11 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java                                          |    9 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultReferenceImpl.java        |   17 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResult.java                               |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLDecoderTransformer.java                                 |    3 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AVA.java                                                    |   11 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultException.java                                   |   11 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java                                      |   21 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Requests.java                                      |  124 -
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResult.java                                |   19 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableStartTLSExtendedRequestImpl.java       |   41 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordReader.java                                     |    5 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java                         |   12 
 opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1OutputStreamWriter.java                                 |    4 
 216 files changed, 1,934 insertions(+), 2,350 deletions(-)

diff --git a/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-src.xml b/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-src.xml
index 5e34432..26f5983 100644
--- a/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-src.xml
+++ b/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-src.xml
@@ -44,10 +44,13 @@
     <module name="FinalClass" />
     <module name="HideUtilityClassConstructor" />
     <module name="UpperEll" />
+    <module name="RedundantThrows">
+      <property name="allowSubclasses" value="true"/>
+    </module>
   </module>
   <module name="JavadocPackage" />
   <module name="RegexpHeader">
-    <property name="headerFile" value="${checkstyle.header.file}" />
+    <property name="header" value="^/\*$\n^ \* CDDL HEADER START$\n^ \*$\n^ \* The contents of this file are subject to the terms of the$\n^ \* Common Development and Distribution License, Version 1.0 only$\n^ \* \(the &quot;License&quot;\).  You may not use this file except in compliance$\n^ \* with the License.$\n^ \*$\n^ \* You can obtain a copy of the license at$\n^ \* trunk/opendj3/legal-notices/CDDLv1_0.txt$\n^ \* or http://forgerock.org/license/CDDLv1.0.html.$\n^ \* See the License for the specific language governing permissions$\n^ \* and limitations under the License.$\n^ \*\n^ \* When distributing Covered Code, include this CDDL HEADER in each$\n^ \* file and include the License file at$\n^ \* trunk/opendj3/legal-notices/CDDLv1_0.txt.  If applicable,$\n^ \* add the following below this CDDL HEADER, with the fields enclosed$\n^ \* by brackets &quot;\[\]&quot; replaced with your own identifying information:$\n^ \*      Portions Copyright \[yyyy\] \[name of copyright owner\]$\n^ \*$\n^ \* CDDL HEADER END$\n"/>
   </module>
   <module name="FileTabCharacter">
     <property name="eachLine" value="true" />
diff --git a/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-unit-tests.xml b/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-unit-tests.xml
index bdeddd0..d27ded4 100644
--- a/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-unit-tests.xml
+++ b/opendj-sdk/opendj3/opendj-build-tools/src/main/resources/org/forgerock/opendj/maven/checkstyle/check-unit-tests.xml
@@ -3,7 +3,7 @@
 
 <module name="Checker">
   <module name="RegexpHeader">
-    <property name="headerFile" value="${checkstyle.header.file}" />
+    <property name="header" value="^/\*$\n^ \* CDDL HEADER START$\n^ \*$\n^ \* The contents of this file are subject to the terms of the$\n^ \* Common Development and Distribution License, Version 1.0 only$\n^ \* \(the &quot;License&quot;\).  You may not use this file except in compliance$\n^ \* with the License.$\n^ \*$\n^ \* You can obtain a copy of the license at$\n^ \* trunk/opendj3/legal-notices/CDDLv1_0.txt$\n^ \* or http://forgerock.org/license/CDDLv1.0.html.$\n^ \* See the License for the specific language governing permissions$\n^ \* and limitations under the License.$\n^ \*\n^ \* When distributing Covered Code, include this CDDL HEADER in each$\n^ \* file and include the License file at$\n^ \* trunk/opendj3/legal-notices/CDDLv1_0.txt.  If applicable,$\n^ \* add the following below this CDDL HEADER, with the fields enclosed$\n^ \* by brackets &quot;\[\]&quot; replaced with your own identifying information:$\n^ \*      Portions Copyright \[yyyy\] \[name of copyright owner\]$\n^ \*$\n^ \* CDDL HEADER END$\n"/>
   </module>
   <module name="FileTabCharacter">
     <property name="eachLine" value="true" />
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/getinfo/Main.java b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/getinfo/Main.java
index 3ae1649..245b81f 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/getinfo/Main.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/getinfo/Main.java
@@ -26,13 +26,11 @@
  */
 package org.forgerock.opendj.examples.getinfo;
 
+
+
 import java.io.IOException;
 
-import org.forgerock.opendj.ldap.Connection;
-import org.forgerock.opendj.ldap.ErrorResultException;
-import org.forgerock.opendj.ldap.LDAPConnectionFactory;
-import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.SearchScope;
+import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.responses.SearchResultEntry;
 import org.forgerock.opendj.ldif.LDIFEntryWriter;
 
@@ -55,7 +53,8 @@
    * Access the directory over LDAP to request information about capabilities
    * and schema.
    *
-   * @param args The command line arguments
+   * @param args
+   *          The command line arguments
    */
   public static void main(final String[] args)
   {
@@ -70,8 +69,7 @@
    */
   private static void connect()
   {
-    final LDAPConnectionFactory factory = new LDAPConnectionFactory(
-      host, port);
+    final LDAPConnectionFactory factory = new LDAPConnectionFactory(host, port);
     Connection connection = null;
 
     try
@@ -81,21 +79,30 @@
 
       final String attributeList;
       if (infoType.toLowerCase().equals("controls"))
+      {
         attributeList = "supportedControl";
+      }
       else if (infoType.toLowerCase().equals("extops"))
+      {
         attributeList = "supportedExtension";
+      }
       else
-        attributeList = "+";          // All operational attributes
+      {
+        attributeList = "+"; // All operational attributes
+      }
 
       final SearchResultEntry entry = connection.searchSingleEntry(
-          "",                         // DN is "" for root DSE.
-          SearchScope.BASE_OBJECT,    // Read only the root DSE.
-          "objectclass=*",            // Every object matches this filter.
-          attributeList);             // Return these requested attributes.
+          "",                      // DN is "" for root DSE.
+          SearchScope.BASE_OBJECT, // Read only the root DSE.
+          "objectclass=*",         // Every object matches this filter.
+          attributeList);          // Return these requested attributes.
 
       final LDIFEntryWriter writer = new LDIFEntryWriter(System.out);
       writer.writeComment("Root DSE for LDAP server at " + host + ":" + port);
-      if (entry != null) writer.writeEntry(entry);
+      if (entry != null)
+      {
+        writer.writeEntry(entry);
+      }
       writer.flush();
     }
     catch (final ErrorResultException e)
@@ -110,7 +117,7 @@
       System.exit(ResultCode.CLIENT_SIDE_USER_CANCELLED.intValue());
       return;
     }
-    catch (IOException e)
+    catch (final IOException e)
     {
       System.err.println(e.getMessage());
       System.exit(ResultCode.CLIENT_SIDE_LOCAL_ERROR.intValue());
@@ -118,35 +125,15 @@
     }
     finally
     {
-      if (connection != null) connection.close();
+      if (connection != null)
+      {
+        connection.close();
+      }
     }
   }
 
 
 
-  /**
-   * Parse command line arguments.
-   * @param args host port bind-dn bind-password info-type
-   */
-  private static void parseArgs(String[] args)
-  {
-    if (args.length != 3) giveUp();
-
-    host = args[0];
-    port = Integer.parseInt(args[1]);
-    infoType = args[2]; // all, controls, or extops
-    if (!
-         (
-           infoType.toLowerCase().equals("all") ||
-           infoType.toLowerCase().equals("controls") ||
-           infoType.toLowerCase().equals("extops")
-         )
-       )
-           giveUp();
-  }
-
-
-
   private static void giveUp()
   {
     printUsage();
@@ -155,14 +142,38 @@
 
 
 
+  /**
+   * Parse command line arguments.
+   *
+   * @param args
+   *          host port bind-dn bind-password info-type
+   */
+  private static void parseArgs(final String[] args)
+  {
+    if (args.length != 3)
+    {
+      giveUp();
+    }
+
+    host = args[0];
+    port = Integer.parseInt(args[1]);
+    infoType = args[2]; // all, controls, or extops
+    if (!(infoType.toLowerCase().equals("all")
+        || infoType.toLowerCase().equals("controls")
+        || infoType.toLowerCase().equals("extops")))
+    {
+      giveUp();
+    }
+  }
+
+
+
   private static void printUsage()
   {
-    System.err.println(
-      "Usage: host port info-type");
-    System.err.println(
-      "\tAll arguments are required.");
-    System.err.println(
-      "\tinfo-type to get can be either all, controls, or extops.");
+    System.err.println("Usage: host port info-type");
+    System.err.println("\tAll arguments are required.");
+    System.err
+        .println("\tinfo-type to get can be either all, controls, or extops.");
   }
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/proxy/Main.java b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/proxy/Main.java
index c3d435e..9f90dd0 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/proxy/Main.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/proxy/Main.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.examples.proxy;
@@ -208,7 +208,6 @@
         final AddRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<Result> outerHandler =
@@ -239,7 +238,6 @@
         final int version, final BindRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException
     {
 
       if (request.getAuthenticationType() != ((byte) 0x80))
@@ -305,7 +303,6 @@
         final CompareRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super CompareResult> resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<CompareResult> outerHandler =
@@ -337,7 +334,6 @@
         final DeleteRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<Result> outerHandler =
@@ -368,7 +364,6 @@
         final RequestContext requestContext, final ExtendedRequest<R> request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super R> resultHandler)
-        throws UnsupportedOperationException
     {
       if (request.getOID().equals(CancelExtendedRequest.OID))
       {
@@ -418,7 +413,6 @@
         final ModifyRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<Result> outerHandler =
@@ -449,7 +443,6 @@
         final ModifyDNRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<Result> outerHandler =
@@ -480,7 +473,6 @@
         final SearchRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final SearchResultHandler resultHandler)
-        throws UnsupportedOperationException
     {
       addProxiedAuthControl(request);
       final ConnectionCompletionHandler<Result> outerHandler =
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
index 3d9bbed..113c2a3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk-examples/src/main/java/org/forgerock/opendj/examples/server/Main.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.examples.server;
@@ -89,7 +89,6 @@
         final AddRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: controls.
       entryLock.writeLock().lock();
@@ -134,7 +133,6 @@
         final int version, final BindRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException
     {
       if (request.getAuthenticationType() != ((byte) 0x80))
       {
@@ -162,7 +160,6 @@
         final CompareRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super CompareResult> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO:
     }
@@ -177,7 +174,6 @@
         final DeleteRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: controls.
       entryLock.writeLock().lock();
@@ -215,7 +211,6 @@
         final ExtendedRequest<R> request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super R> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: not implemented.
       resultHandler.handleErrorResult(newErrorResult(
@@ -233,7 +228,6 @@
         final ModifyRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: controls.
       // TODO: read lock is not really enough since concurrent updates may
@@ -298,7 +292,6 @@
         final ModifyDNRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: not implemented.
       resultHandler.handleErrorResult(newErrorResult(
@@ -316,7 +309,6 @@
         final SearchRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final SearchResultHandler resultHandler)
-        throws UnsupportedOperationException
     {
       // TODO: controls, limits, etc.
       entryLock.readLock().lock();
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferReader.java
index b6b1c20..22a83b6 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap;
@@ -360,7 +361,7 @@
   /**
    * {@inheritDoc}
    */
-  public void readEndSequence() throws IOException, IllegalStateException
+  public void readEndSequence() throws IOException
   {
     readLimiter = readLimiter.endSequence();
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferWriter.java
index 81a74de..0e95868 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/ASN1BufferWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package com.forgerock.opendj.ldap;
 
@@ -333,8 +334,7 @@
   /**
    * {@inheritDoc}
    */
-  public ASN1Writer writeEndSequence() throws IOException,
-      IllegalStateException
+  public ASN1Writer writeEndSequence() throws IOException
   {
     sequenceBuffer = sequenceBuffer.endSequence();
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/InternalConnection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/InternalConnection.java
index a4637fc..8a1606c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/InternalConnection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/InternalConnection.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap;
@@ -122,8 +122,6 @@
    */
   @Override
   public FutureResult<Void> abandonAsync(final AbandonRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     serverConnection.handleAbandon(i, request);
@@ -139,8 +137,6 @@
   public FutureResult<Result> addAsync(final AddRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPFutureResultImpl future = new LDAPFutureResultImpl(i, request,
@@ -156,7 +152,6 @@
    */
   @Override
   public void addConnectionEventListener(final ConnectionEventListener listener)
-      throws IllegalStateException, NullPointerException
   {
     Validator.ensureNotNull(listener);
     listeners.add(listener);
@@ -171,8 +166,6 @@
   public FutureResult<BindResult> bindAsync(final BindRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super BindResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final InternalBindFutureResultImpl future = new InternalBindFutureResultImpl(
@@ -202,8 +195,6 @@
   public FutureResult<CompareResult> compareAsync(final CompareRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super CompareResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPCompareFutureResultImpl future = new LDAPCompareFutureResultImpl(
@@ -221,8 +212,6 @@
   public FutureResult<Result> deleteAsync(final DeleteRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPFutureResultImpl future = new LDAPFutureResultImpl(i, request,
@@ -241,8 +230,6 @@
       final ExtendedRequest<R> request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super R> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPExtendedFutureResultImpl<R> future = new LDAPExtendedFutureResultImpl<R>(
@@ -284,8 +271,6 @@
   public FutureResult<Result> modifyAsync(final ModifyRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPFutureResultImpl future = new LDAPFutureResultImpl(i, request,
@@ -303,8 +288,6 @@
   public FutureResult<Result> modifyDNAsync(final ModifyDNRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPFutureResultImpl future = new LDAPFutureResultImpl(i, request,
@@ -320,7 +303,7 @@
    */
   @Override
   public void removeConnectionEventListener(
-      final ConnectionEventListener listener) throws NullPointerException
+      final ConnectionEventListener listener)
   {
     Validator.ensureNotNull(listener);
     listeners.remove(listener);
@@ -335,8 +318,6 @@
   public FutureResult<Result> searchAsync(final SearchRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final SearchResultHandler resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final int i = messageID.getAndIncrement();
     final LDAPSearchFutureResultImpl future = new LDAPSearchFutureResultImpl(i,
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPConnection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPConnection.java
index 5ad6c39..9624463 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPConnection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/LDAPConnection.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions Copyright 2011 ForgeRock AS
+ *      Portions Copyright 2011-2012 ForgeRock AS
  */
 
 package com.forgerock.opendj.ldap;
@@ -232,7 +232,6 @@
    * {@inheritDoc}
    */
   public void addConnectionEventListener(final ConnectionEventListener listener)
-      throws IllegalStateException, NullPointerException
   {
     Validator.ensureNotNull(listener);
     listeners.add(listener);
@@ -343,7 +342,6 @@
    * {@inheritDoc}
    */
   public void close(final UnbindRequest request, final String reason)
-      throws NullPointerException
   {
     // FIXME: I18N need to internationalize this message.
     Validator.ensureNotNull(request);
@@ -702,7 +700,7 @@
    * {@inheritDoc}
    */
   public void removeConnectionEventListener(
-      final ConnectionEventListener listener) throws NullPointerException
+      final ConnectionEventListener listener)
   {
     Validator.ensureNotNull(listener);
     listeners.remove(listener);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLDecoderTransformer.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLDecoderTransformer.java
index e729236..1512821 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLDecoderTransformer.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLDecoderTransformer.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap;
@@ -33,7 +34,6 @@
 import org.forgerock.opendj.ldap.ErrorResultException;
 import org.glassfish.grizzly.AbstractTransformer;
 import org.glassfish.grizzly.Buffer;
-import org.glassfish.grizzly.TransformationException;
 import org.glassfish.grizzly.TransformationResult;
 import org.glassfish.grizzly.attributes.AttributeStorage;
 import org.glassfish.grizzly.memory.Buffers;
@@ -82,7 +82,6 @@
   @Override
   public TransformationResult<Buffer, Buffer> transformImpl(
       final AttributeStorage storage, final Buffer input)
-      throws TransformationException
   {
 
     final int len = Math.min(buffer.length, input.remaining());
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLEncoderTransformer.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLEncoderTransformer.java
index 8441a11..8811e31 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLEncoderTransformer.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/SASLEncoderTransformer.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap;
@@ -33,7 +34,6 @@
 import org.forgerock.opendj.ldap.ErrorResultException;
 import org.glassfish.grizzly.AbstractTransformer;
 import org.glassfish.grizzly.Buffer;
-import org.glassfish.grizzly.TransformationException;
 import org.glassfish.grizzly.TransformationResult;
 import org.glassfish.grizzly.attributes.AttributeStorage;
 import org.glassfish.grizzly.memory.Buffers;
@@ -82,7 +82,6 @@
   @Override
   public TransformationResult<Buffer, Buffer> transformImpl(
       final AttributeStorage storage, final Buffer input)
-      throws TransformationException
   {
 
     final int len = Math.min(buffer.length, input.remaining());
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedResult.java
index 31830a9..ee40f6d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/ldap/extensions/GetConnectionIDExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap.extensions;
@@ -62,7 +63,6 @@
    */
   public static GetConnectionIDExtendedResult newResult(
       final ResultCode resultCode, final int connectionID)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resultCode);
     return new GetConnectionIDExtendedResult(resultCode, connectionID);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Base64.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Base64.java
index 79fbde2..71f0e64 100755
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Base64.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Base64.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package com.forgerock.opendj.util;
 
@@ -68,7 +69,6 @@
    *           If {@code base64} was {@code null}.
    */
   public static ByteString decode(final String base64)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     ensureNotNull(base64);
 
@@ -336,7 +336,6 @@
    *           If {@code bytes} was {@code null}.
    */
   public static String encode(final ByteSequence bytes)
-      throws NullPointerException
   {
     ensureNotNull(bytes);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/CompletedFutureResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/CompletedFutureResult.java
index 3e3ba08..047eb5c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/CompletedFutureResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/CompletedFutureResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.util;
@@ -65,7 +66,6 @@
    *           If {@code errorResult} was {@code null}.
    */
   public CompletedFutureResult(final ErrorResultException errorResult)
-      throws NullPointerException
   {
     this(errorResult, -1);
   }
@@ -84,7 +84,7 @@
    *           If {@code errorResult} was {@code null}.
    */
   public CompletedFutureResult(final ErrorResultException errorResult,
-      final int requestID) throws NullPointerException
+      final int requestID)
   {
     Validator.ensureNotNull(errorResult);
     this.result = null;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/ConnectionDecorator.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/ConnectionDecorator.java
index b266a98..3a9a338 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/ConnectionDecorator.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/ConnectionDecorator.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package com.forgerock.opendj.util;
@@ -32,7 +32,6 @@
 
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.requests.*;
 import org.forgerock.opendj.ldap.responses.*;
@@ -75,8 +74,6 @@
    */
   @Override
   public FutureResult<Void> abandonAsync(final AbandonRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.abandonAsync(request);
   }
@@ -90,8 +87,7 @@
    */
   @Override
   public Result add(final AddRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.add(request);
   }
@@ -105,8 +101,7 @@
    */
   @Override
   public Result add(final Entry entry) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.add(entry);
   }
@@ -120,9 +115,7 @@
    */
   @Override
   public Result add(final String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return connection.add(ldifLines);
   }
@@ -138,8 +131,6 @@
   public FutureResult<Result> addAsync(final AddRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.addAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -154,7 +145,6 @@
    */
   @Override
   public void addConnectionEventListener(final ConnectionEventListener listener)
-      throws IllegalStateException, NullPointerException
   {
     connection.addConnectionEventListener(listener);
   }
@@ -168,9 +158,7 @@
    */
   @Override
   public BindResult bind(final BindRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.bind(request);
   }
@@ -184,9 +172,7 @@
    */
   @Override
   public BindResult bind(final String name, final char[] password)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.bind(name, password);
   }
@@ -202,8 +188,6 @@
   public FutureResult<BindResult> bindAsync(final BindRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super BindResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.bindAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -231,7 +215,6 @@
    */
   @Override
   public void close(final UnbindRequest request, final String reason)
-      throws NullPointerException
   {
     connection.close(request, reason);
   }
@@ -245,9 +228,7 @@
    */
   @Override
   public CompareResult compare(final CompareRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.compare(request);
   }
@@ -262,9 +243,7 @@
   @Override
   public CompareResult compare(final String name,
       final String attributeDescription, final String assertionValue)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.compare(name, attributeDescription, assertionValue);
   }
@@ -280,8 +259,6 @@
   public FutureResult<CompareResult> compareAsync(final CompareRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super CompareResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.compareAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -296,9 +273,7 @@
    */
   @Override
   public Result delete(final DeleteRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.delete(request);
   }
@@ -312,9 +287,7 @@
    */
   @Override
   public Result delete(final String name) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return connection.delete(name);
   }
@@ -330,8 +303,6 @@
   public FutureResult<Result> deleteAsync(final DeleteRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.deleteAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -347,8 +318,7 @@
   @Override
   public <R extends ExtendedResult> R extendedRequest(
       final ExtendedRequest<R> request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.extendedRequest(request);
   }
@@ -364,8 +334,7 @@
   public <R extends ExtendedResult> R extendedRequest(
       final ExtendedRequest<R> request,
       final IntermediateResponseHandler handler) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.extendedRequest(request, handler);
   }
@@ -380,8 +349,7 @@
   @Override
   public GenericExtendedResult extendedRequest(final String requestName,
       final ByteString requestValue) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.extendedRequest(requestName, requestValue);
   }
@@ -398,8 +366,6 @@
       final ExtendedRequest<R> request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super R> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.extendedRequestAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -440,9 +406,7 @@
    */
   @Override
   public Result modify(final ModifyRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.modify(request);
   }
@@ -456,9 +420,7 @@
    */
   @Override
   public Result modify(final String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return connection.modify(ldifLines);
   }
@@ -474,8 +436,6 @@
   public FutureResult<Result> modifyAsync(final ModifyRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.modifyAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -490,9 +450,7 @@
    */
   @Override
   public Result modifyDN(final ModifyDNRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.modifyDN(request);
   }
@@ -506,9 +464,7 @@
    */
   @Override
   public Result modifyDN(final String name, final String newRDN)
-      throws ErrorResultException, LocalizedIllegalArgumentException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.modifyDN(name, newRDN);
   }
@@ -524,8 +480,6 @@
   public FutureResult<Result> modifyDNAsync(final ModifyDNRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.modifyDNAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -541,8 +495,7 @@
   @Override
   public SearchResultEntry readEntry(final DN name,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.readEntry(name, attributeDescriptions);
   }
@@ -557,9 +510,7 @@
   @Override
   public SearchResultEntry readEntry(final String name,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return connection.readEntry(name, attributeDescriptions);
   }
@@ -575,8 +526,6 @@
   public FutureResult<SearchResultEntry> readEntryAsync(final DN name,
       final Collection<String> attributeDescriptions,
       final ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.readEntryAsync(name, attributeDescriptions, handler);
   }
@@ -590,7 +539,7 @@
    */
   @Override
   public void removeConnectionEventListener(
-      final ConnectionEventListener listener) throws NullPointerException
+      final ConnectionEventListener listener)
   {
     connection.removeConnectionEventListener(listener);
   }
@@ -604,8 +553,6 @@
    */
   @Override
   public ConnectionEntryReader search(final SearchRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.search(request);
   }
@@ -620,9 +567,7 @@
   @Override
   public Result search(final SearchRequest request,
       final Collection<? super SearchResultEntry> entries)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.search(request, entries);
   }
@@ -638,9 +583,7 @@
   public Result search(final SearchRequest request,
       final Collection<? super SearchResultEntry> entries,
       final Collection<? super SearchResultReference> references)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.search(request, entries, references);
   }
@@ -655,8 +598,7 @@
   @Override
   public Result search(final SearchRequest request,
       final SearchResultHandler handler) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return connection.search(request, handler);
   }
@@ -672,8 +614,6 @@
   public ConnectionEntryReader search(final String baseObject,
       final SearchScope scope, final String filter,
       final String... attributeDescriptions)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.search(baseObject, scope, filter, attributeDescriptions);
   }
@@ -689,8 +629,6 @@
   public FutureResult<Result> searchAsync(final SearchRequest request,
       final IntermediateResponseHandler intermediateResponseHandler,
       final SearchResultHandler resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.searchAsync(request, intermediateResponseHandler,
         resultHandler);
@@ -705,9 +643,7 @@
    */
   @Override
   public SearchResultEntry searchSingleEntry(final SearchRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return connection.searchSingleEntry(request);
   }
@@ -723,9 +659,7 @@
   public SearchResultEntry searchSingleEntry(final String baseObject,
       final SearchScope scope, final String filter,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return connection.searchSingleEntry(baseObject, scope, filter,
         attributeDescriptions);
@@ -742,8 +676,6 @@
   public FutureResult<SearchResultEntry> searchSingleEntryAsync(
       final SearchRequest request,
       final ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return connection.searchSingleEntryAsync(request, handler);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/StaticUtils.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/StaticUtils.java
index cbd42f0..6edb99e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/StaticUtils.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/StaticUtils.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package com.forgerock.opendj.util;
@@ -1254,7 +1254,6 @@
    *           If {@code date} was {@code null}.
    */
   public static String formatAsGeneralizedTime(final Date date)
-      throws NullPointerException
   {
     return formatAsGeneralizedTime(date.getTime());
   }
@@ -1273,7 +1272,6 @@
    *           If {@code date} was invalid.
    */
   public static String formatAsGeneralizedTime(final long date)
-      throws IllegalArgumentException
   {
     // Generalized time has the format yyyyMMddHHmmss.SSS'Z'
 
@@ -1807,7 +1805,6 @@
    *           If {@code c} or {@code separator} were {@code null}.
    */
   public static String joinCollection(Collection<?> c, String separator)
-      throws NullPointerException
   {
     Validator.ensureNotNull(c, separator);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/SubstringReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/SubstringReader.java
index 67bafbe..2938a4b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/SubstringReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/SubstringReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.util;
@@ -106,7 +107,7 @@
    * @throws StringIndexOutOfBoundsException If there is no more data
    *            available to read.
    */
-  public char read() throws StringIndexOutOfBoundsException
+  public char read()
   {
     if (pos >= length)
     {
@@ -129,7 +130,7 @@
    * @throws StringIndexOutOfBoundsException If the length exceeds the
    *            allowed length.
    */
-  public String read(final int length) throws StringIndexOutOfBoundsException
+  public String read(final int length)
   {
     if (length > this.length || pos + length > this.length)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Validator.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Validator.java
index d9c1fa7..c300e16 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Validator.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/com/forgerock/opendj/util/Validator.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.util;
@@ -45,7 +46,6 @@
    *           If any of the provided arguments are {@code null}.
    */
   public static void ensureNotNull(final Object... objects)
-      throws NullPointerException
   {
     for (final Object o : objects)
     {
@@ -70,7 +70,6 @@
    *           If any of the provided arguments are {@code null}.
    */
   public static void ensureNotNull(final Object o1, final Object o2)
-      throws NullPointerException
   {
     if (o1 == null || o2 == null)
     {
@@ -94,7 +93,7 @@
    *           If any of the provided arguments are {@code null}.
    */
   public static void ensureNotNull(final Object o1, final Object o2,
-      final Object o3) throws NullPointerException
+      final Object o3)
   {
     if (o1 == null || o2 == null || o3 == null)
     {
@@ -120,7 +119,7 @@
    *           If any of the provided arguments are {@code null}.
    */
   public static void ensureNotNull(final Object o1, final Object o2,
-      final Object o3, final Object o4) throws NullPointerException
+      final Object o3, final Object o4)
   {
     if (o1 == null || o2 == null || o3 == null || o4 == null)
     {
@@ -149,7 +148,6 @@
    */
   public static void ensureNotNull(final Object o1, final Object o2,
       final Object o3, final Object o4, final Object o5)
-      throws NullPointerException
   {
     if (o1 == null || o2 == null || o3 == null || o4 == null || o5 == null)
     {
@@ -172,7 +170,7 @@
    * @throws NullPointerException
    *           If the provided argument is {@code null}.
    */
-  public static <T> T ensureNotNull(final T o1) throws NullPointerException
+  public static <T> T ensureNotNull(final T o1)
   {
     if (o1 == null)
     {
@@ -195,7 +193,6 @@
    *           If {@code condition} was {@code false}.
    */
   public static void ensureTrue(final boolean condition, final String message)
-      throws IllegalArgumentException
   {
     if (!condition)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1ByteSequenceReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1ByteSequenceReader.java
index ae3699a..b02393c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1ByteSequenceReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1ByteSequenceReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.asn1;
@@ -202,7 +203,7 @@
   /**
    * {@inheritDoc}
    */
-  public void readEndSequence() throws IOException, IllegalStateException
+  public void readEndSequence() throws IOException
   {
     if (readerStack.isEmpty())
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1InputStreamReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1InputStreamReader.java
index 73b7958..b98198e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1InputStreamReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1InputStreamReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.asn1;
@@ -225,7 +226,7 @@
   /**
    * {@inheritDoc}
    */
-  public void readEndSequence() throws IOException, IllegalStateException
+  public void readEndSequence() throws IOException
   {
     if (streamStack.isEmpty())
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1OutputStreamWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1OutputStreamWriter.java
index 4550f1f..369c293 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1OutputStreamWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1OutputStreamWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.asn1;
 
@@ -126,8 +127,7 @@
   /**
    * {@inheritDoc}
    */
-  public ASN1Writer writeEndSequence() throws IOException,
-      IllegalStateException
+  public ASN1Writer writeEndSequence() throws IOException
   {
     if (stackDepth < 0)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Reader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Reader.java
index 99756aa..5bac8a1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Reader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Reader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.asn1;
@@ -159,8 +160,7 @@
    * @throws IllegalStateException
    *           If there is no sequence being read.
    */
-  void readEndSequence() throws DecodeException, IOException,
-      IllegalStateException;
+  void readEndSequence() throws DecodeException, IOException;
 
 
 
@@ -174,7 +174,7 @@
    * @throws IllegalStateException
    *           If there is no set being read.
    */
-  void readEndSet() throws DecodeException, IOException, IllegalStateException;
+  void readEndSet() throws DecodeException, IOException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Writer.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Writer.java
index 9c997b0..4e81377 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Writer.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/asn1/ASN1Writer.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2006-2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 package org.forgerock.opendj.asn1;
 
@@ -114,7 +114,7 @@
    * @throws IllegalStateException
    *           If there is no sequence being written.
    */
-  ASN1Writer writeEndSequence() throws IOException, IllegalStateException;
+  ASN1Writer writeEndSequence() throws IOException;
 
 
 
@@ -125,9 +125,9 @@
    * @throws IOException
    *           If an error occurs while writing the element.
    * @throws IllegalStateException
-   *           If there is no set being written, IllegalStateException.
+   *           If there is no set being written.
    */
-  ASN1Writer writeEndSet() throws IOException, IllegalStateException;
+  ASN1Writer writeEndSet() throws IOException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AVA.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AVA.java
index 3ae1e45..abb2891 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AVA.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AVA.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -78,7 +78,6 @@
    *           If {@code ava} was {@code null}.
    */
   public static AVA valueOf(final String ava)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return valueOf(ava, Schema.getDefaultSchema());
   }
@@ -101,7 +100,6 @@
    *           If {@code ava} or {@code schema} was {@code null}.
    */
   public static AVA valueOf(final String ava, final Schema schema)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     final SubstringReader reader = new SubstringReader(ava);
     try
@@ -119,7 +117,6 @@
 
 
   static AVA decode(final SubstringReader reader, final Schema schema)
-      throws LocalizedIllegalArgumentException, UnknownSchemaElementException
   {
     // Skip over any spaces at the beginning.
     reader.skipWhitespaces();
@@ -409,8 +406,7 @@
 
 
   private static AttributeType readAttributeName(final SubstringReader reader,
-      final Schema schema) throws LocalizedIllegalArgumentException,
-      UnknownSchemaElementException
+      final Schema schema)
   {
     int length = 1;
     reader.mark();
@@ -499,7 +495,6 @@
 
 
   private static ByteString readAttributeValue(final SubstringReader reader)
-      throws LocalizedIllegalArgumentException
   {
     // All leading spaces have already been stripped so we can start
     // reading the value. However, it may be empty so check for that.
@@ -680,7 +675,6 @@
    *           {@code null}.
    */
   public AVA(final AttributeType attributeType, final ByteString attributeValue)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeType, attributeValue);
 
@@ -708,7 +702,6 @@
    *           {@code null}.
    */
   public AVA(final String attributeType, final Object attributeValue)
-      throws UnknownSchemaElementException, NullPointerException
   {
     Validator.ensureNotNull(attributeType, attributeValue);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnection.java
index c1d8454..f223ed7 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnection.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -60,8 +60,7 @@
    */
   @Override
   public Result add(final AddRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     final FutureResult<Result> future = addAsync(request, null, null);
     try
@@ -82,9 +81,7 @@
    */
   @Override
   public BindResult bind(final BindRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final FutureResult<BindResult> future = bindAsync(request, null, null);
     try
@@ -105,9 +102,7 @@
    */
   @Override
   public CompareResult compare(final CompareRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final FutureResult<CompareResult> future = compareAsync(request, null, null);
     try
@@ -128,9 +123,7 @@
    */
   @Override
   public Result delete(final DeleteRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final FutureResult<Result> future = deleteAsync(request, null, null);
     try
@@ -153,8 +146,7 @@
   public <R extends ExtendedResult> R extendedRequest(
       final ExtendedRequest<R> request,
       final IntermediateResponseHandler handler) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     final FutureResult<R> future = extendedRequestAsync(request, handler, null);
     try
@@ -175,9 +167,7 @@
    */
   @Override
   public Result modify(final ModifyRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final FutureResult<Result> future = modifyAsync(request, null, null);
     try
@@ -198,9 +188,7 @@
    */
   @Override
   public Result modifyDN(final ModifyDNRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final FutureResult<Result> future = modifyDNAsync(request, null, null);
     try
@@ -222,8 +210,7 @@
   @Override
   public Result search(final SearchRequest request,
       final SearchResultHandler handler) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     final FutureResult<Result> future = searchAsync(request, null, handler);
     try
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java
index 195215b..d2423d0 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractAttribute.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -190,8 +191,7 @@
    * {@inheritDoc}
    */
   @Override
-  public abstract boolean add(ByteString value)
-      throws UnsupportedOperationException, NullPointerException;
+  public abstract boolean add(ByteString value);
 
 
 
@@ -199,7 +199,6 @@
    * {@inheritDoc}
    */
   public boolean add(final Object firstValue, final Object... remainingValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(firstValue);
 
@@ -221,7 +220,6 @@
    */
   @Override
   public boolean addAll(final Collection<? extends ByteString> values)
-      throws UnsupportedOperationException, NullPointerException
   {
     return addAll(values, null);
   }
@@ -233,7 +231,6 @@
    */
   public boolean addAll(final Collection<? extends ByteString> values,
       final Collection<? super ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     boolean modified = false;
     for (final ByteString value : values)
@@ -256,7 +253,7 @@
    * {@inheritDoc}
    */
   @Override
-  public abstract boolean contains(Object value) throws NullPointerException;
+  public abstract boolean contains(Object value);
 
 
 
@@ -265,7 +262,6 @@
    */
   @Override
   public boolean containsAll(final Collection<?> values)
-      throws NullPointerException
   {
     for (final Object value : values)
     {
@@ -293,7 +289,7 @@
   /**
    * {@inheritDoc}
    */
-  public ByteString firstValue() throws NoSuchElementException
+  public ByteString firstValue()
   {
     return iterator().next();
   }
@@ -303,7 +299,7 @@
   /**
    * {@inheritDoc}
    */
-  public String firstValueAsString() throws NoSuchElementException
+  public String firstValueAsString()
   {
     return firstValue().toString();
   }
@@ -350,8 +346,7 @@
    * {@inheritDoc}
    */
   @Override
-  public abstract boolean remove(Object value)
-      throws UnsupportedOperationException, NullPointerException;
+  public abstract boolean remove(Object value);
 
 
 
@@ -360,7 +355,6 @@
    */
   @Override
   public boolean removeAll(final Collection<?> values)
-      throws UnsupportedOperationException, NullPointerException
   {
     return removeAll(values, null);
   }
@@ -372,7 +366,6 @@
    */
   public <T> boolean removeAll(final Collection<T> values,
       final Collection<? super T> missingValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     boolean modified = false;
     for (final T value : values)
@@ -396,7 +389,6 @@
    */
   @Override
   public boolean retainAll(final Collection<?> values)
-      throws UnsupportedOperationException, NullPointerException
   {
     return retainAll(values, null);
   }
@@ -408,7 +400,6 @@
    */
   public <T> boolean retainAll(final Collection<T> values,
       final Collection<? super T> missingValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     if (values.isEmpty())
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
index e6e7726..9d8d19b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractConnection.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -39,7 +39,6 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.requests.*;
 import org.forgerock.opendj.ldap.responses.*;
 import org.forgerock.opendj.ldif.ConnectionEntryReader;
@@ -297,8 +296,7 @@
    */
   @Override
   public Result add(final Entry entry) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return add(Requests.newAddRequest(entry));
   }
@@ -310,9 +308,7 @@
    */
   @Override
   public Result add(final String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return add(Requests.newAddRequest(ldifLines));
   }
@@ -324,9 +320,7 @@
    */
   @Override
   public BindResult bind(final String name, final char[] password)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return bind(Requests.newSimpleBindRequest(name, password));
   }
@@ -350,9 +344,7 @@
   @Override
   public CompareResult compare(final String name,
       final String attributeDescription, final String assertionValue)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return compare(Requests.newCompareRequest(name, attributeDescription,
         assertionValue));
@@ -365,9 +357,7 @@
    */
   @Override
   public Result delete(final String name) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return delete(Requests.newDeleteRequest(name));
   }
@@ -380,8 +370,7 @@
   @Override
   public <R extends ExtendedResult> R extendedRequest(
       final ExtendedRequest<R> request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return extendedRequest(request, null);
   }
@@ -394,8 +383,7 @@
   @Override
   public GenericExtendedResult extendedRequest(final String requestName,
       final ByteString requestValue) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     return extendedRequest(Requests.newGenericExtendedRequest(requestName,
         requestValue));
@@ -408,9 +396,7 @@
    */
   @Override
   public Result modify(final String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return modify(Requests.newModifyRequest(ldifLines));
   }
@@ -422,9 +408,7 @@
    */
   @Override
   public Result modifyDN(final String name, final String newRDN)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return modifyDN(Requests.newModifyDNRequest(name, newRDN));
   }
@@ -437,8 +421,7 @@
   @Override
   public SearchResultEntry readEntry(final DN baseObject,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     final SearchRequest request = Requests.newSearchRequest(baseObject,
         SearchScope.BASE_OBJECT, Filter.getObjectClassPresentFilter(),
@@ -454,9 +437,7 @@
   @Override
   public SearchResultEntry readEntry(final String baseObject,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     return readEntry(DN.valueOf(baseObject));
   }
@@ -470,8 +451,6 @@
   public FutureResult<SearchResultEntry> readEntryAsync(final DN name,
       final Collection<String> attributeDescriptions,
       final ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final SearchRequest request = Requests.newSearchRequest(name,
         SearchScope.BASE_OBJECT, Filter.getObjectClassPresentFilter());
@@ -489,8 +468,6 @@
    */
   @Override
   public ConnectionEntryReader search(final SearchRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     return new ConnectionEntryReader(this, request);
   }
@@ -503,9 +480,7 @@
   @Override
   public Result search(final SearchRequest request,
       final Collection<? super SearchResultEntry> entries)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return search(request, entries, null);
   }
@@ -519,9 +494,7 @@
   public Result search(final SearchRequest request,
       final Collection<? super SearchResultEntry> entries,
       final Collection<? super SearchResultReference> references)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     Validator.ensureNotNull(request, entries);
 
@@ -583,8 +556,6 @@
   public ConnectionEntryReader search(final String baseObject,
       final SearchScope scope, final String filter,
       final String... attributeDescriptions)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final SearchRequest request = Requests.newSearchRequest(baseObject, scope,
         filter, attributeDescriptions);
@@ -598,9 +569,7 @@
    */
   @Override
   public SearchResultEntry searchSingleEntry(final SearchRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final SingleEntryHandler handler = new SingleEntryHandler();
     search(request, handler);
@@ -641,9 +610,7 @@
   public SearchResultEntry searchSingleEntry(final String baseObject,
       final SearchScope scope, final String filter,
       final String... attributeDescriptions) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      InterruptedException
   {
     final SearchRequest request = Requests.newSearchRequest(baseObject, scope,
         filter, attributeDescriptions);
@@ -659,8 +626,6 @@
   public FutureResult<SearchResultEntry> searchSingleEntryAsync(
       final SearchRequest request,
       final ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final SingleEntryFuture innerFuture = new SingleEntryFuture(handler);
     final FutureResult<Result> future = searchAsync(request, null, innerFuture);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractEntry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractEntry.java
index 15dfb45..989b999 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractEntry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractEntry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -31,7 +32,6 @@
 
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 
 import com.forgerock.opendj.util.Iterables;
 import com.forgerock.opendj.util.Predicate;
@@ -180,7 +180,6 @@
    * {@inheritDoc}
    */
   public boolean addAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     return addAttribute(attribute, null);
   }
@@ -191,8 +190,7 @@
    * {@inheritDoc}
    */
   public Entry addAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     addAttribute(new LinkedAttribute(attributeDescription, values), null);
     return this;
@@ -204,7 +202,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final Attribute attribute,
-      final Collection<ByteString> missingValues) throws NullPointerException
+      final Collection<ByteString> missingValues)
   {
     final Attribute a = getAttribute(attribute.getAttributeDescription());
     if (a == null)
@@ -239,8 +237,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final Object... values)
   {
     return containsAttribute(new LinkedAttribute(attributeDescription, values),
         null);
@@ -264,7 +261,6 @@
    */
   public Iterable<Attribute> getAllAttributes(
       final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
 
@@ -278,7 +274,6 @@
    * {@inheritDoc}
    */
   public Iterable<Attribute> getAllAttributes(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return getAllAttributes(AttributeDescription.valueOf(attributeDescription));
   }
@@ -289,7 +284,6 @@
    * {@inheritDoc}
    */
   public Attribute getAttribute(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return getAttribute(AttributeDescription.valueOf(attributeDescription));
   }
@@ -311,7 +305,6 @@
    * {@inheritDoc}
    */
   public boolean removeAttribute(final AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException
   {
     return removeAttribute(
         Attributes.emptyAttribute(attributeDescription), null);
@@ -323,8 +316,7 @@
    * {@inheritDoc}
    */
   public Entry removeAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     removeAttribute(new LinkedAttribute(attributeDescription, values), null);
     return this;
@@ -336,7 +328,6 @@
    * {@inheritDoc}
    */
   public boolean replaceAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     if (attribute.isEmpty())
     {
@@ -356,8 +347,7 @@
    * {@inheritDoc}
    */
   public Entry replaceAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     replaceAttribute(new LinkedAttribute(attributeDescription, values));
     return this;
@@ -369,8 +359,6 @@
    * {@inheritDoc}
    */
   public Entry setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     return setName(DN.valueOf(dn));
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractMapEntry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractMapEntry.java
index 08e0e0b..89030e9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractMapEntry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AbstractMapEntry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -58,7 +59,6 @@
    */
   AbstractMapEntry(final DN name,
       final Map<AttributeDescription, Attribute> attributes)
-      throws NullPointerException
   {
     this.name = name;
     this.attributes = attributes;
@@ -70,7 +70,7 @@
    * {@inheritDoc}
    */
   public final boolean addAttribute(final Attribute attribute,
-      final Collection<ByteString> duplicateValues) throws NullPointerException
+      final Collection<ByteString> duplicateValues)
   {
     Validator.ensureNotNull(attribute);
 
@@ -116,7 +116,6 @@
    */
   public final Attribute getAttribute(
       final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
 
@@ -149,7 +148,7 @@
    * {@inheritDoc}
    */
   public final boolean removeAttribute(final Attribute attribute,
-      final Collection<ByteString> missingValues) throws NullPointerException
+      final Collection<ByteString> missingValues)
   {
     Validator.ensureNotNull(attribute);
 
@@ -190,7 +189,7 @@
   /**
    * {@inheritDoc}
    */
-  public final Entry setName(final DN dn) throws NullPointerException
+  public final Entry setName(final DN dn)
   {
     Validator.ensureNotNull(dn);
     this.name = dn;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attribute.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attribute.java
index 1839809..068a799 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attribute.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attribute.java
@@ -23,16 +23,14 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
 
 
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import java.util.Set;
+import java.util.*;
 
 
 
@@ -59,10 +57,13 @@
  * }
  * </pre>
  * <p>
- * TODO: matching against attribute value assertions.
  */
 public interface Attribute extends Set<ByteString>
 {
+  // TODO: matching against attribute value assertions.
+
+
+
   /**
    * Adds {@code value} to this attribute if it is not already present (optional
    * operation). If this attribute already contains {@code value}, the call
@@ -76,8 +77,7 @@
    * @throws NullPointerException
    *           If {@code value} was {@code null}.
    */
-  boolean add(ByteString value) throws UnsupportedOperationException,
-      NullPointerException;
+  boolean add(ByteString value);
 
 
 
@@ -98,8 +98,7 @@
    * @throws NullPointerException
    *           If {@code firstValue} was {@code null}.
    */
-  boolean add(Object firstValue, Object... remainingValues)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean add(Object firstValue, Object... remainingValues);
 
 
 
@@ -121,8 +120,7 @@
    * @throws NullPointerException
    *           If {@code values} was {@code null}.
    */
-  boolean addAll(Collection<? extends ByteString> values)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean addAll(Collection<? extends ByteString> values);
 
 
 
@@ -144,8 +142,7 @@
    *           If {@code values} was {@code null}.
    */
   boolean addAll(Collection<? extends ByteString> values,
-      Collection<? super ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<? super ByteString> duplicateValues);
 
 
 
@@ -156,7 +153,7 @@
    * @throws UnsupportedOperationException
    *           If this attribute does not support removal of attribute values.
    */
-  void clear() throws UnsupportedOperationException;
+  void clear();
 
 
 
@@ -174,7 +171,7 @@
    * @throws NullPointerException
    *           If {@code value} was {@code null}.
    */
-  boolean contains(Object value) throws NullPointerException;
+  boolean contains(Object value);
 
 
 
@@ -193,7 +190,7 @@
    * @throws NullPointerException
    *           If {@code values} was {@code null}.
    */
-  boolean containsAll(Collection<?> values) throws NullPointerException;
+  boolean containsAll(Collection<?> values);
 
 
 
@@ -220,7 +217,7 @@
    * @throws NoSuchElementException
    *           If this attribute is empty.
    */
-  ByteString firstValue() throws NoSuchElementException;
+  ByteString firstValue();
 
 
 
@@ -233,7 +230,7 @@
    * @throws NoSuchElementException
    *           If this attribute is empty.
    */
-  String firstValueAsString() throws NoSuchElementException;
+  String firstValueAsString();
 
 
 
@@ -304,8 +301,7 @@
    * @throws NullPointerException
    *           If {@code value} was {@code null}.
    */
-  boolean remove(Object value) throws UnsupportedOperationException,
-      NullPointerException;
+  boolean remove(Object value);
 
 
 
@@ -330,8 +326,7 @@
    * @throws NullPointerException
    *           If {@code values} was {@code null}.
    */
-  boolean removeAll(Collection<?> values) throws UnsupportedOperationException,
-      NullPointerException;
+  boolean removeAll(Collection<?> values);
 
 
 
@@ -358,8 +353,7 @@
    *           If {@code values} was {@code null}.
    */
   <T> boolean removeAll(Collection<T> values,
-      Collection<? super T> missingValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<? super T> missingValues);
 
 
 
@@ -384,8 +378,7 @@
    * @throws NullPointerException
    *           If {@code values} was {@code null}.
    */
-  boolean retainAll(Collection<?> values) throws UnsupportedOperationException,
-      NullPointerException;
+  boolean retainAll(Collection<?> values);
 
 
 
@@ -411,8 +404,7 @@
    *           If {@code values} was {@code null}.
    */
   <T> boolean retainAll(Collection<T> values,
-      Collection<? super T> missingValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<? super T> missingValues);
 
 
 
@@ -471,7 +463,7 @@
    * @throws NullPointerException
    *           If {@code array} was {@code null}.
    */
-  <T> T[] toArray(T[] array) throws ArrayStoreException, NullPointerException;
+  <T> T[] toArray(T[] array);
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java
index c7e21d1..bbe259f 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeDescription.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -37,9 +37,7 @@
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.LocalizedIllegalArgumentException;
-import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.UnknownSchemaElementException;
+import org.forgerock.opendj.ldap.schema.*;
 
 import com.forgerock.opendj.util.ASCIICharProp;
 import com.forgerock.opendj.util.Iterators;
@@ -554,7 +552,6 @@
    *           {@code null}.
    */
   public AttributeDescription withOption(final String option)
-      throws NullPointerException
   {
     Validator.ensureNotNull(option);
 
@@ -661,7 +658,6 @@
    *           If {@code attributeType} was {@code null}.
    */
   public static AttributeDescription create(final AttributeType attributeType)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeType);
 
@@ -693,7 +689,7 @@
    *           If {@code attributeType} or {@code option} was {@code null}.
    */
   public static AttributeDescription create(final AttributeType attributeType,
-      final String option) throws NullPointerException
+      final String option)
   {
     Validator.ensureNotNull(attributeType, option);
 
@@ -725,7 +721,7 @@
    *           If {@code attributeType} or {@code options} was {@code null}.
    */
   public static AttributeDescription create(final AttributeType attributeType,
-      final String... options) throws NullPointerException
+      final String... options)
   {
     Validator.ensureNotNull(attributeType, options);
 
@@ -794,8 +790,6 @@
    *           If {@code attributeDescription} was {@code null}.
    */
   public static AttributeDescription valueOf(final String attributeDescription)
-      throws UnknownSchemaElementException, LocalizedIllegalArgumentException,
-      NullPointerException
   {
     return valueOf(attributeDescription, Schema.getDefaultSchema());
   }
@@ -823,8 +817,7 @@
    */
   @SuppressWarnings("serial")
   public static AttributeDescription valueOf(final String attributeDescription,
-      final Schema schema) throws UnknownSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final Schema schema)
   {
     Validator.ensureNotNull(attributeDescription, schema);
 
@@ -867,7 +860,7 @@
 
 
   private static int skipTrailingWhiteSpace(final String attributeDescription,
-      int i, final int length) throws LocalizedIllegalArgumentException
+      int i, final int length)
   {
     char c;
     while (i < length)
@@ -889,7 +882,6 @@
   // Uncached valueOf implementation.
   private static AttributeDescription valueOf0(
       final String attributeDescription, final Schema schema)
-      throws LocalizedIllegalArgumentException
   {
     final boolean allowMalformedNamesAndOptions = schema
         .allowMalformedNamesAndOptions();
@@ -1215,7 +1207,6 @@
    *           If {@code name} was {@code null}.
    */
   public int compareTo(final AttributeDescription other)
-      throws NullPointerException
   {
     final int result = attributeType.compareTo(other.attributeType);
     if (result != 0)
@@ -1243,7 +1234,6 @@
    *           If {@code option} was {@code null}.
    */
   public boolean containsOption(final String option)
-      throws NullPointerException
   {
     final String normalizedOption = toLowerCase(option);
     return pimpl.containsOption(normalizedOption);
@@ -1380,7 +1370,6 @@
    *           If {@code name} was {@code null}.
    */
   public boolean isSubTypeOf(final AttributeDescription other)
-      throws NullPointerException
   {
     if (!attributeType.isSubTypeOf(other.attributeType))
     {
@@ -1417,7 +1406,6 @@
    *           If {@code name} was {@code null}.
    */
   public boolean isSuperTypeOf(final AttributeDescription other)
-      throws NullPointerException
   {
     if (!other.attributeType.isSubTypeOf(attributeType))
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeFactory.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeFactory.java
index 7875b23..d15c72c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeFactory.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AttributeFactory.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -49,6 +50,5 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Attribute newAttribute(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Attribute newAttribute(AttributeDescription attributeDescription);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attributes.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attributes.java
index f420d4f..326efe1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attributes.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Attributes.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -32,7 +32,6 @@
 
 import java.util.Collection;
 import java.util.Iterator;
-import java.util.NoSuchElementException;
 
 import org.forgerock.opendj.ldap.schema.AttributeType;
 
@@ -66,7 +65,6 @@
 
     @Override
     public boolean add(final ByteString value)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -74,7 +72,7 @@
 
 
     @Override
-    public void clear() throws UnsupportedOperationException
+    public void clear()
     {
       throw new UnsupportedOperationException();
     }
@@ -82,7 +80,7 @@
 
 
     @Override
-    public boolean contains(final Object value) throws NullPointerException
+    public boolean contains(final Object value)
     {
       return false;
     }
@@ -115,7 +113,6 @@
 
     @Override
     public boolean remove(final Object value)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -154,7 +151,6 @@
 
 
     public boolean add(final ByteString value)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.add(value);
     }
@@ -162,7 +158,6 @@
 
 
     public boolean add(final Object firstValue, final Object... remainingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.add(firstValue, remainingValues);
     }
@@ -170,7 +165,6 @@
 
 
     public boolean addAll(final Collection<? extends ByteString> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.addAll(values);
     }
@@ -179,21 +173,20 @@
 
     public boolean addAll(final Collection<? extends ByteString> values,
         final Collection<? super ByteString> duplicateValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.addAll(values, duplicateValues);
     }
 
 
 
-    public void clear() throws UnsupportedOperationException
+    public void clear()
     {
       attribute.clear();
     }
 
 
 
-    public boolean contains(final Object value) throws NullPointerException
+    public boolean contains(final Object value)
     {
       return attribute.contains(value);
     }
@@ -201,7 +194,6 @@
 
 
     public boolean containsAll(final Collection<?> values)
-        throws NullPointerException
     {
       return attribute.containsAll(values);
     }
@@ -216,14 +208,14 @@
 
 
 
-    public ByteString firstValue() throws NoSuchElementException
+    public ByteString firstValue()
     {
       return attribute.firstValue();
     }
 
 
 
-    public String firstValueAsString() throws NoSuchElementException
+    public String firstValueAsString()
     {
       return attribute.firstValueAsString();
     }
@@ -267,7 +259,6 @@
 
 
     public boolean remove(final Object value)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.remove(value);
     }
@@ -275,7 +266,6 @@
 
 
     public boolean removeAll(final Collection<?> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.removeAll(values);
     }
@@ -284,7 +274,6 @@
 
     public <T> boolean removeAll(final Collection<T> values,
         final Collection<? super T> missingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.removeAll(values, missingValues);
     }
@@ -292,7 +281,6 @@
 
 
     public boolean retainAll(final Collection<?> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.retainAll(values);
     }
@@ -301,7 +289,6 @@
 
     public <T> boolean retainAll(final Collection<T> values,
         final Collection<? super T> missingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       return attribute.retainAll(values, missingValues);
     }
@@ -322,8 +309,7 @@
 
 
 
-    public <T> T[] toArray(final T[] array) throws ArrayStoreException,
-        NullPointerException
+    public <T> T[] toArray(final T[] array)
     {
       return attribute.toArray(array);
     }
@@ -358,7 +344,6 @@
 
 
     public boolean add(final ByteString value)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -366,7 +351,6 @@
 
 
     public boolean add(final Object firstValue, final Object... remainingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -374,7 +358,6 @@
 
 
     public boolean addAll(final Collection<? extends ByteString> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -383,21 +366,20 @@
 
     public boolean addAll(final Collection<? extends ByteString> values,
         final Collection<? super ByteString> duplicateValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
 
 
 
-    public void clear() throws UnsupportedOperationException
+    public void clear()
     {
       throw new UnsupportedOperationException();
     }
 
 
 
-    public boolean contains(final Object value) throws NullPointerException
+    public boolean contains(final Object value)
     {
       return attribute.contains(value);
     }
@@ -405,7 +387,6 @@
 
 
     public boolean containsAll(final Collection<?> values)
-        throws NullPointerException
     {
       return attribute.containsAll(values);
     }
@@ -420,14 +401,14 @@
 
 
 
-    public ByteString firstValue() throws NoSuchElementException
+    public ByteString firstValue()
     {
       return attribute.firstValue();
     }
 
 
 
-    public String firstValueAsString() throws NoSuchElementException
+    public String firstValueAsString()
     {
       return attribute.firstValueAsString();
     }
@@ -471,7 +452,6 @@
 
 
     public boolean remove(final Object value)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -479,7 +459,6 @@
 
 
     public boolean removeAll(final Collection<?> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -488,7 +467,6 @@
 
     public <T> boolean removeAll(final Collection<T> values,
         final Collection<? super T> missingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -496,7 +474,6 @@
 
 
     public boolean retainAll(final Collection<?> values)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -505,7 +482,6 @@
 
     public <T> boolean retainAll(final Collection<T> values,
         final Collection<? super T> missingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -526,8 +502,7 @@
 
 
 
-    public <T> T[] toArray(final T[] array) throws ArrayStoreException,
-        NullPointerException
+    public <T> T[] toArray(final T[] array)
     {
       return attribute.toArray(array);
     }
@@ -556,7 +531,6 @@
    */
   public static final Attribute emptyAttribute(
       final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     return new EmptyAttribute(attributeDescription);
   }
@@ -583,7 +557,6 @@
    */
   public static final Attribute renameAttribute(final Attribute attribute,
       final AttributeDescription attributeDescription)
-      throws IllegalArgumentException, NullPointerException
   {
     final AttributeType oldType = attribute.getAttributeDescription()
         .getAttributeType();
@@ -613,7 +586,6 @@
    *           If {@code attribute} was {@code null}.
    */
   public static final Attribute unmodifiableAttribute(final Attribute attribute)
-      throws NullPointerException
   {
     if (attribute instanceof UnmodifiableAttribute)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
index dcd524f..29cff97 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/AuthenticatedConnectionFactory.java
@@ -23,14 +23,13 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.requests.BindRequest;
 import org.forgerock.opendj.ldap.responses.BindResult;
 
@@ -79,8 +78,6 @@
     public FutureResult<BindResult> bindAsync(final BindRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -91,8 +88,7 @@
      * {@inheritDoc}
      */
     public BindResult bind(BindRequest request) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       throw new UnsupportedOperationException();
     }
@@ -103,9 +99,7 @@
      * {@inheritDoc}
      */
     public BindResult bind(String name, char[] password)
-        throws ErrorResultException, InterruptedException,
-        LocalizedIllegalArgumentException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       throw new UnsupportedOperationException();
     }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java
index 941db81..d6d5a05 100755
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequence.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 package org.forgerock.opendj.ldap;
 
@@ -68,7 +68,7 @@
    * @throws IndexOutOfBoundsException
    *           If the index argument is negative or not less than length().
    */
-  byte byteAt(int index) throws IndexOutOfBoundsException;
+  byte byteAt(int index);
 
 
 
@@ -94,8 +94,7 @@
    *           If {@code offset} is negative or if {@code length} is negative or
    *           if {@code offset + length} is greater than {@code bytes.length}.
    */
-  int compareTo(byte[] bytes, int offset, int length)
-      throws IndexOutOfBoundsException;
+  int compareTo(byte[] bytes, int offset, int length);
 
 
 
@@ -173,7 +172,7 @@
    * @throws IndexOutOfBoundsException
    *           If {@code offset} is negative.
    */
-  byte[] copyTo(byte[] bytes, int offset) throws IndexOutOfBoundsException;
+  byte[] copyTo(byte[] bytes, int offset);
 
 
 
@@ -223,8 +222,7 @@
    *           If {@code offset} is negative or if {@code length} is negative or
    *           if {@code offset + length} is greater than {@code bytes.length}.
    */
-  boolean equals(byte[] bytes, int offset, int length)
-      throws IndexOutOfBoundsException;
+  boolean equals(byte[] bytes, int offset, int length);
 
 
 
@@ -283,7 +281,7 @@
    *           greater than {@code length()}, or if {@code start} is greater
    *           than {@code end}.
    */
-  ByteSequence subSequence(int start, int end) throws IndexOutOfBoundsException;
+  ByteSequence subSequence(int start, int end);
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequenceReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequenceReader.java
index e50388f..c4dfa14 100755
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequenceReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteSequenceReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap;
 
@@ -73,7 +74,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; 1}.
    */
-  public byte get() throws IndexOutOfBoundsException
+  public byte get()
   {
     final byte b = sequence.byteAt(pos);
     pos++;
@@ -103,7 +104,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; b.length}.
    */
-  public void get(final byte[] b) throws IndexOutOfBoundsException
+  public void get(final byte[] b)
   {
     get(b, 0, b.length);
   }
@@ -145,7 +146,6 @@
    *           &lt; length}.
    */
   public void get(final byte[] b, final int offset, final int length)
-      throws IndexOutOfBoundsException
   {
     if (offset < 0 || length < 0 || offset + length > b.length
         || length > remaining())
@@ -170,7 +170,7 @@
    *           If there are fewer bytes remaining in this reader than are
    *           required to satisfy the request.
    */
-  public int getBERLength() throws IndexOutOfBoundsException
+  public int getBERLength()
   {
     // Make sure we have at least one byte to read.
     int newPos = pos + 1;
@@ -225,7 +225,6 @@
    *           &lt; length}.
    */
   public ByteSequence getByteSequence(final int length)
-      throws IndexOutOfBoundsException
   {
     final int newPos = pos + length;
     final ByteSequence subSequence = sequence.subSequence(pos, newPos);
@@ -267,7 +266,6 @@
    *           &lt; length}.
    */
   public ByteString getByteString(final int length)
-      throws IndexOutOfBoundsException
   {
     return getByteSequence(length).toByteString();
   }
@@ -286,7 +284,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; 4}.
    */
-  public int getInt() throws IndexOutOfBoundsException
+  public int getInt()
   {
     if (remaining() < 4)
     {
@@ -316,7 +314,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; 8}.
    */
-  public long getLong() throws IndexOutOfBoundsException
+  public long getLong()
   {
     if (remaining() < 8)
     {
@@ -347,7 +345,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; 2}.
    */
-  public short getShort() throws IndexOutOfBoundsException
+  public short getShort()
   {
     if (remaining() < 2)
     {
@@ -381,7 +379,7 @@
    *           required to satisfy the request, that is, if {@code remaining()
    *           &lt; length}.
    */
-  public String getString(final int length) throws IndexOutOfBoundsException
+  public String getString(final int length)
   {
     if (remaining() < length)
     {
@@ -418,7 +416,7 @@
    *           If the position is negative or larger than the length of the
    *           underlying byte sequence.
    */
-  public void position(final int pos) throws IndexOutOfBoundsException
+  public void position(final int pos)
   {
     if (pos > sequence.length() || pos < 0)
     {
@@ -487,7 +485,7 @@
    *           If the new position is less than 0 or greater than the length of
    *           the underlying byte sequence.
    */
-  public void skip(final int length) throws IndexOutOfBoundsException
+  public void skip(final int length)
   {
     position(pos + length);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteString.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteString.java
index 09cf45f..97690fd 100755
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteString.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteString.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 package org.forgerock.opendj.ldap;
 
@@ -243,7 +243,7 @@
    *           if {@code offset + length} is greater than {@code bytes.length}.
    */
   public static ByteString wrap(final byte[] bytes, final int offset,
-      final int length) throws IndexOutOfBoundsException
+      final int length)
   {
     checkArrayBounds(bytes, offset, length);
     return new ByteString(bytes, offset, length);
@@ -268,7 +268,7 @@
    *           if {@code offset + length} is greater than {@code b.length}.
    */
   static void checkArrayBounds(final byte[] b, final int offset,
-      final int length) throws IndexOutOfBoundsException
+      final int length)
   {
     if (offset < 0 || offset > b.length || length < 0
         || offset + length > b.length || offset + length < 0)
@@ -484,7 +484,7 @@
   /**
    * {@inheritDoc}
    */
-  public byte byteAt(final int index) throws IndexOutOfBoundsException
+  public byte byteAt(final int index)
   {
     if (index >= length || index < 0)
     {
@@ -499,7 +499,6 @@
    * {@inheritDoc}
    */
   public int compareTo(final byte[] bytes, final int offset, final int length)
-      throws IndexOutOfBoundsException
   {
     checkArrayBounds(bytes, offset, length);
     return compareTo(this.buffer, this.offset, this.length, bytes, offset,
@@ -537,7 +536,6 @@
    * {@inheritDoc}
    */
   public byte[] copyTo(final byte[] bytes, final int offset)
-      throws IndexOutOfBoundsException
   {
     if (offset < 0)
     {
@@ -576,7 +574,6 @@
    * {@inheritDoc}
    */
   public boolean equals(final byte[] bytes, final int offset, final int length)
-      throws IndexOutOfBoundsException
   {
     checkArrayBounds(bytes, offset, length);
     return equals(this.buffer, this.offset, this.length, bytes, offset, length);
@@ -643,7 +640,6 @@
    * {@inheritDoc}
    */
   public ByteString subSequence(final int start, final int end)
-      throws IndexOutOfBoundsException
   {
     if (start < 0 || start > end || end > length)
     {
@@ -700,7 +696,7 @@
    * @throws IndexOutOfBoundsException
    *           If this byte string has less than four bytes.
    */
-  public int toInt() throws IndexOutOfBoundsException
+  public int toInt()
   {
     if (length < 4)
     {
@@ -727,7 +723,7 @@
    * @throws IndexOutOfBoundsException
    *           If this byte string has less than eight bytes.
    */
-  public long toLong() throws IndexOutOfBoundsException
+  public long toLong()
   {
     if (length < 8)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteStringBuilder.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteStringBuilder.java
index 9260a46..f709bf3 100755
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteStringBuilder.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ByteStringBuilder.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 package org.forgerock.opendj.ldap;
 
@@ -92,7 +92,7 @@
     /**
      * {@inheritDoc}
      */
-    public byte byteAt(final int index) throws IndexOutOfBoundsException
+    public byte byteAt(final int index)
     {
       if (index >= subLength || index < 0)
       {
@@ -109,7 +109,6 @@
      * {@inheritDoc}
      */
     public int compareTo(final byte[] b, final int offset, final int length)
-        throws IndexOutOfBoundsException
     {
       ByteString.checkArrayBounds(b, offset, length);
 
@@ -151,7 +150,6 @@
      * {@inheritDoc}
      */
     public byte[] copyTo(final byte[] b, final int offset)
-        throws IndexOutOfBoundsException
     {
       if (offset < 0)
       {
@@ -193,7 +191,6 @@
      * {@inheritDoc}
      */
     public boolean equals(final byte[] b, final int offset, final int length)
-        throws IndexOutOfBoundsException
     {
       ByteString.checkArrayBounds(b, offset, length);
 
@@ -254,7 +251,6 @@
      * {@inheritDoc}
      */
     public ByteSequence subSequence(final int start, final int end)
-        throws IndexOutOfBoundsException
     {
       if (start < 0 || start > end || end > subLength)
       {
@@ -332,7 +328,7 @@
    * @throws IllegalArgumentException
    *           If the {@code capacity} is negative.
    */
-  public ByteStringBuilder(final int capacity) throws IllegalArgumentException
+  public ByteStringBuilder(final int capacity)
   {
     if (capacity < 0)
     {
@@ -404,7 +400,7 @@
    *           if {@code offset + length} is greater than {@code bytes.length}.
    */
   public ByteStringBuilder append(final byte[] bytes, final int offset,
-      final int length) throws IndexOutOfBoundsException
+      final int length)
   {
     ByteString.checkArrayBounds(bytes, offset, length);
 
@@ -433,7 +429,6 @@
    *           buffer.remaining()}.
    */
   public ByteStringBuilder append(final ByteBuffer buffer, final int length)
-      throws IndexOutOfBoundsException
   {
     if (length < 0 || length > buffer.remaining())
     {
@@ -481,7 +476,7 @@
    *           reader.remaining()}.
    */
   public ByteStringBuilder append(final ByteSequenceReader reader,
-      final int length) throws IndexOutOfBoundsException
+      final int length)
   {
     if (length < 0 || length > reader.remaining())
     {
@@ -566,7 +561,7 @@
    *           If an I/O error occurs.
    */
   public int append(final InputStream stream, final int length)
-      throws IndexOutOfBoundsException, IOException
+      throws IOException
   {
     if (length < 0)
     {
@@ -840,7 +835,7 @@
   /**
    * {@inheritDoc}
    */
-  public byte byteAt(final int index) throws IndexOutOfBoundsException
+  public byte byteAt(final int index)
   {
     if (index >= length || index < 0)
     {
@@ -873,7 +868,6 @@
    * {@inheritDoc}
    */
   public int compareTo(final byte[] bytes, final int offset, final int length)
-      throws IndexOutOfBoundsException
   {
     ByteString.checkArrayBounds(bytes, offset, length);
     return ByteString.compareTo(this.buffer, 0, this.length, bytes, offset,
@@ -911,7 +905,6 @@
    * {@inheritDoc}
    */
   public byte[] copyTo(final byte[] bytes, final int offset)
-      throws IndexOutOfBoundsException
   {
     if (offset < 0)
     {
@@ -972,7 +965,6 @@
    * {@inheritDoc}
    */
   public boolean equals(final byte[] bytes, final int offset, final int length)
-      throws IndexOutOfBoundsException
   {
     ByteString.checkArrayBounds(bytes, offset, length);
     return ByteString
@@ -1081,7 +1073,6 @@
    *           If the <code>newLength</code> argument is negative.
    */
   public ByteStringBuilder setLength(final int newLength)
-      throws IndexOutOfBoundsException
   {
     if (newLength < 0)
     {
@@ -1123,13 +1114,8 @@
    * @param end
    *          The end index, exclusive.
    * @return The newly created byte subsequence.
-   * @throws IndexOutOfBoundsException
-   *           If {@code start} or {@code end} are negative, if {@code end} is
-   *           greater than {@code length()}, or if {@code start} is greater
-   *           than {@code end}.
    */
   public ByteSequence subSequence(final int start, final int end)
-      throws IndexOutOfBoundsException
   {
     if (start < 0 || start > end || end > length)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connection.java
index e352069..83924c8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connection.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -33,7 +33,7 @@
 import java.io.Closeable;
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.requests.*;
 import org.forgerock.opendj.ldap.responses.*;
 import org.forgerock.opendj.ldif.ConnectionEntryReader;
@@ -164,9 +164,7 @@
    * @throws NullPointerException
    *           If {@code request} was {@code null}.
    */
-  FutureResult<Void> abandonAsync(AbandonRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+  FutureResult<Void> abandonAsync(AbandonRequest request);
 
 
 
@@ -190,8 +188,7 @@
    *           If {@code request} was {@code null}.
    */
   Result add(AddRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -221,9 +218,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null} .
    */
-  Result add(Entry entry) throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+  Result add(Entry entry) throws ErrorResultException, InterruptedException;
 
 
 
@@ -258,9 +253,7 @@
    *           If {@code ldifLines} was {@code null} .
    */
   Result add(String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException;
+      InterruptedException;
 
 
 
@@ -287,9 +280,7 @@
    */
   FutureResult<Result> addAsync(AddRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -307,8 +298,7 @@
    * @throws NullPointerException
    *           If the {@code listener} was {@code null}.
    */
-  void addConnectionEventListener(ConnectionEventListener listener)
-      throws IllegalStateException, NullPointerException;
+  void addConnectionEventListener(ConnectionEventListener listener);
 
 
 
@@ -332,8 +322,7 @@
    *           If {@code request} was {@code null}.
    */
   BindResult bind(BindRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -371,9 +360,7 @@
    *           If {@code name} or {@code password} was {@code null}.
    */
   BindResult bind(String name, char[] password) throws ErrorResultException,
-      InterruptedException, LocalizedIllegalArgumentException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      InterruptedException;
 
 
 
@@ -400,9 +387,7 @@
    */
   FutureResult<BindResult> bindAsync(BindRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super BindResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super BindResult> resultHandler);
 
 
 
@@ -449,7 +434,7 @@
    * @throws NullPointerException
    *           If {@code request} was {@code null}.
    */
-  void close(UnbindRequest request, String reason) throws NullPointerException;
+  void close(UnbindRequest request, String reason);
 
 
 
@@ -474,8 +459,7 @@
    *           If {@code request} was {@code null}.
    */
   CompareResult compare(CompareRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -516,9 +500,7 @@
    *           {@code assertionValue} was {@code null}.
    */
   CompareResult compare(String name, String attributeDescription,
-      String assertionValue) throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      String assertionValue) throws ErrorResultException, InterruptedException;
 
 
 
@@ -545,9 +527,7 @@
    */
   FutureResult<CompareResult> compareAsync(CompareRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super CompareResult> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super CompareResult> resultHandler);
 
 
 
@@ -572,8 +552,7 @@
    *           If {@code request} was {@code null}.
    */
   Result delete(DeleteRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -605,9 +584,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  Result delete(String name) throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+  Result delete(String name) throws ErrorResultException, InterruptedException;
 
 
 
@@ -634,9 +611,7 @@
    */
   FutureResult<Result> deleteAsync(DeleteRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -662,9 +637,7 @@
    *           If {@code request} was {@code null}.
    */
   <R extends ExtendedResult> R extendedRequest(ExtendedRequest<R> request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -695,8 +668,7 @@
    */
   <R extends ExtendedResult> R extendedRequest(ExtendedRequest<R> request,
       IntermediateResponseHandler handler) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -733,8 +705,7 @@
    */
   GenericExtendedResult extendedRequest(String requestName,
       ByteString requestValue) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -764,9 +735,7 @@
   <R extends ExtendedResult> FutureResult<R> extendedRequestAsync(
       ExtendedRequest<R> request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super R> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super R> resultHandler);
 
 
 
@@ -815,8 +784,7 @@
    *           If {@code request} was {@code null}.
    */
   Result modify(ModifyRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -850,9 +818,7 @@
    *           If {@code ldifLines} was {@code null} .
    */
   Result modify(String... ldifLines) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      LocalizedIllegalArgumentException, IllegalStateException,
-      NullPointerException;
+      InterruptedException;
 
 
 
@@ -879,9 +845,7 @@
    */
   FutureResult<Result> modifyAsync(ModifyRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -906,8 +870,7 @@
    *           If {@code request} was {@code null}.
    */
   Result modifyDN(ModifyDNRequest request) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      InterruptedException;
 
 
 
@@ -943,9 +906,7 @@
    *           If {@code name} or {@code newRDN} was {@code null}.
    */
   Result modifyDN(String name, String newRDN) throws ErrorResultException,
-      LocalizedIllegalArgumentException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      InterruptedException;
 
 
 
@@ -972,9 +933,7 @@
    */
   FutureResult<Result> modifyDNAsync(ModifyDNRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -1014,9 +973,7 @@
    *           If the {@code name} was {@code null}.
    */
   SearchResultEntry readEntry(DN name, String... attributeDescriptions)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1057,9 +1014,7 @@
    *           If the {@code name} was {@code null}.
    */
   SearchResultEntry readEntry(String name, String... attributeDescriptions)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1098,9 +1053,7 @@
    */
   FutureResult<SearchResultEntry> readEntryAsync(DN name,
       Collection<String> attributeDescriptions,
-      ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super SearchResultEntry> handler);
 
 
 
@@ -1116,8 +1069,7 @@
    * @throws NullPointerException
    *           If the {@code listener} was {@code null}.
    */
-  void removeConnectionEventListener(ConnectionEventListener listener)
-      throws NullPointerException;
+  void removeConnectionEventListener(ConnectionEventListener listener);
 
 
 
@@ -1142,9 +1094,7 @@
    * @throws NullPointerException
    *           If {@code request} or {@code entries} was {@code null}.
    */
-  ConnectionEntryReader search(SearchRequest request)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+  ConnectionEntryReader search(SearchRequest request);
 
 
 
@@ -1185,9 +1135,7 @@
    */
   Result search(SearchRequest request,
       Collection<? super SearchResultEntry> entries)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1227,9 +1175,7 @@
   Result search(SearchRequest request,
       Collection<? super SearchResultEntry> entries,
       Collection<? super SearchResultReference> references)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1259,9 +1205,7 @@
    *           If {@code request} was {@code null}.
    */
   Result search(SearchRequest request, SearchResultHandler handler)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1303,9 +1247,7 @@
    *           {@code null}.
    */
   ConnectionEntryReader search(String baseObject, SearchScope scope,
-      String filter, String... attributeDescriptions)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      String filter, String... attributeDescriptions);
 
 
 
@@ -1333,8 +1275,7 @@
    */
   FutureResult<Result> searchAsync(SearchRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      SearchResultHandler resultHandler) throws UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      SearchResultHandler resultHandler);
 
 
 
@@ -1365,9 +1306,7 @@
    *           If the {@code request} was {@code null}.
    */
   SearchResultEntry searchSingleEntry(SearchRequest request)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1420,9 +1359,7 @@
    */
   SearchResultEntry searchSingleEntry(String baseObject, SearchScope scope,
       String filter, String... attributeDescriptions)
-      throws ErrorResultException, InterruptedException,
-      LocalizedIllegalArgumentException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException;
+      throws ErrorResultException, InterruptedException;
 
 
 
@@ -1451,7 +1388,5 @@
    *           If the {@code request} was {@code null}.
    */
   FutureResult<SearchResultEntry> searchSingleEntryAsync(SearchRequest request,
-      ResultHandler<? super SearchResultEntry> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException;
+      ResultHandler<? super SearchResultEntry> handler);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connections.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connections.java
index a5eb899..b3f64aa 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connections.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Connections.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -70,7 +70,6 @@
    */
   public static ConnectionFactory newAuthenticatedConnectionFactory(
       final ConnectionFactory factory, final BindRequest request)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory, request);
 
@@ -95,7 +94,6 @@
    */
   public static ConnectionPool newFixedConnectionPool(
       final ConnectionFactory factory, final int poolSize)
-      throws IllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(factory);
     Validator.ensureTrue(poolSize >= 0, "negative pool size");
@@ -117,7 +115,7 @@
    *           If {@code factory} was {@code null}.
    */
   public static ConnectionFactory newHeartBeatConnectionFactory(
-      final ConnectionFactory factory) throws NullPointerException
+      final ConnectionFactory factory)
   {
     return new HeartBeatConnectionFactory(factory);
   }
@@ -144,7 +142,6 @@
    */
   public static ConnectionFactory newHeartBeatConnectionFactory(
       final ConnectionFactory factory, final long interval, final TimeUnit unit)
-      throws IllegalArgumentException, NullPointerException
   {
     return new HeartBeatConnectionFactory(factory, interval, unit);
   }
@@ -173,8 +170,7 @@
    */
   public static ConnectionFactory newHeartBeatConnectionFactory(
       final ConnectionFactory factory, final long interval, final TimeUnit unit,
-      final SearchRequest heartBeat) throws IllegalArgumentException,
-      NullPointerException
+      final SearchRequest heartBeat)
   {
     return new HeartBeatConnectionFactory(factory, interval, unit, heartBeat);
   }
@@ -209,7 +205,6 @@
       final ConnectionFactory factory, final long interval,
       final TimeUnit unit, final SearchRequest heartBeat,
       final ScheduledExecutorService scheduler)
-      throws IllegalArgumentException, NullPointerException
   {
     return new HeartBeatConnectionFactory(factory, interval, unit, heartBeat,
         scheduler);
@@ -246,7 +241,6 @@
    */
   public static <C> ConnectionFactory newInternalConnectionFactory(
       final ServerConnectionFactory<C, Integer> factory, final C clientContext)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory);
     return new InternalConnectionFactory<C>(factory, clientContext);
@@ -265,7 +259,7 @@
    *           If {@code algorithm} was {@code null}.
    */
   public static ConnectionFactory newLoadBalancer(
-      final LoadBalancingAlgorithm algorithm) throws NullPointerException
+      final LoadBalancingAlgorithm algorithm)
   {
     return new LoadBalancer(algorithm);
   }
@@ -290,7 +284,6 @@
    */
   public static ConnectionFactory newNamedConnectionFactory(
       final ConnectionFactory factory, final String name)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory, name);
 
@@ -353,7 +346,6 @@
    */
   public static <C> ServerConnectionFactory<C, Integer> newServerConnectionFactory(
       final RequestHandler<RequestContext> requestHandler)
-      throws NullPointerException
   {
     Validator.ensureNotNull(requestHandler);
 
@@ -398,7 +390,6 @@
    */
   public static <C> ServerConnectionFactory<C, Integer> newServerConnectionFactory(
       final RequestHandlerFactory<C, RequestContext> factory)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory);
     return new RequestHandlerFactoryAdapter<C>(factory);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DN.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DN.java
index 2cfc0d6..bfa4ff8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DN.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DN.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -112,7 +112,6 @@
    *           If {@code dn} was {@code null}.
    */
   public static DN valueOf(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return valueOf(dn, Schema.getDefaultSchema());
   }
@@ -134,7 +133,6 @@
    *           If {@code dn} or {@code schema} was {@code null}.
    */
   public static DN valueOf(final String dn, final Schema schema)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(dn, schema);
     if (dn.length() == 0)
@@ -228,7 +226,6 @@
   // Decodes a DN using the provided reader and schema.
   private static DN decode(final String dnString, final SubstringReader reader,
       final Schema schema, final Map<String, DN> cache)
-      throws LocalizedIllegalArgumentException
   {
     reader.skipWhitespaces();
     if (reader.remaining() == 0)
@@ -340,7 +337,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  public DN child(final DN dn) throws NullPointerException
+  public DN child(final DN dn)
   {
     Validator.ensureNotNull(dn);
 
@@ -387,7 +384,7 @@
    *           If {@code rdn} was {@code null}.
    * @see RDN#maxValue()
    */
-  public DN child(final RDN rdn) throws NullPointerException
+  public DN child(final RDN rdn)
   {
     Validator.ensureNotNull(rdn);
     return new DN(this, rdn, null);
@@ -407,8 +404,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  public DN child(final String dn) throws LocalizedIllegalArgumentException,
-      NullPointerException
+  public DN child(final String dn)
   {
     Validator.ensureNotNull(dn);
     return child(valueOf(dn));
@@ -486,7 +482,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  public boolean isChildOf(final DN dn) throws NullPointerException
+  public boolean isChildOf(final DN dn)
   {
     // If this is the Root DN then parent will be null but this is ok.
     return dn.equals(parent);
@@ -508,7 +504,6 @@
    *           If {@code dn} was {@code null}.
    */
   public boolean isChildOf(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // If this is the Root DN then parent will be null but this is ok.
     return isChildOf(valueOf(dn));
@@ -593,7 +588,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  public boolean isParentOf(final DN dn) throws NullPointerException
+  public boolean isParentOf(final DN dn)
   {
     // If dn is the Root DN then parent will be null but this is ok.
     return equals(dn.parent);
@@ -614,7 +609,6 @@
    *           If {@code dn} was {@code null}.
    */
   public boolean isParentOf(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // If dn is the Root DN then parent will be null but this is ok.
     return isParentOf(valueOf(dn));
@@ -646,7 +640,6 @@
    *           If {@code dn} was {@code null}.
    */
   public boolean isSubordinateOrEqualTo(final DN dn)
-      throws NullPointerException
   {
     if (size < dn.size)
     {
@@ -679,7 +672,6 @@
    *           If {@code dn} was {@code null}.
    */
   public boolean isSubordinateOrEqualTo(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return isSubordinateOrEqualTo(valueOf(dn));
   }
@@ -696,7 +688,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  public boolean isSuperiorOrEqualTo(final DN dn) throws NullPointerException
+  public boolean isSuperiorOrEqualTo(final DN dn)
   {
     if (size > dn.size)
     {
@@ -728,7 +720,6 @@
    *           If {@code dn} was {@code null}.
    */
   public boolean isSuperiorOrEqualTo(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return isSuperiorOrEqualTo(valueOf(dn));
   }
@@ -800,7 +791,7 @@
    * @throws IllegalArgumentException
    *           If {@code index} is less than zero.
    */
-  public DN localName(final int index) throws IllegalArgumentException
+  public DN localName(final int index)
   {
     Validator.ensureTrue(index >= 0, "index less than zero");
 
@@ -862,7 +853,7 @@
    * @throws IllegalArgumentException
    *           If {@code index} is less than zero.
    */
-  public DN parent(final int index) throws IllegalArgumentException
+  public DN parent(final int index)
   {
     // We allow size + 1 so that we can return null as the parent of the
     // Root DN.
@@ -903,7 +894,7 @@
    * @throws NullPointerException
    *           If {@code fromDN} or {@code toDN} was {@code null}.
    */
-  public DN rename(final DN fromDN, final DN toDN) throws NullPointerException
+  public DN rename(final DN fromDN, final DN toDN)
   {
     Validator.ensureNotNull(fromDN, toDN);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java
index 5bd29d9..702d10e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/DecodeOptions.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -168,7 +168,6 @@
    *           If {@code factory} was {@code null}.
    */
   public final DecodeOptions setAttributeFactory(final AttributeFactory factory)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory);
     this.attributeFactory = factory;
@@ -189,7 +188,6 @@
    *           If {@code factory} was {@code null}.
    */
   public final DecodeOptions setEntryFactory(final EntryFactory factory)
-      throws NullPointerException
   {
     Validator.ensureNotNull(factory);
     this.entryFactory = factory;
@@ -211,7 +209,6 @@
    *           If {@code schema} was {@code null}.
    */
   public final DecodeOptions setSchema(final Schema schema)
-      throws NullPointerException
   {
     Validator.ensureNotNull(schema);
     this.schemaResolver = new FixedSchemaResolver(schema);
@@ -233,7 +230,6 @@
    *           If {@code resolver} was {@code null}.
    */
   public final DecodeOptions setSchemaResolver(final SchemaResolver resolver)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resolver);
     this.schemaResolver = resolver;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entries.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entries.java
index 27ff4f4..035ef7e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entries.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entries.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -35,7 +35,6 @@
 import java.util.*;
 
 import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.requests.ModifyRequest;
 import org.forgerock.opendj.ldap.requests.Requests;
 import org.forgerock.opendj.ldap.schema.*;
@@ -72,7 +71,6 @@
      */
     @Override
     public boolean addAttribute(final Attribute attribute)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -85,7 +83,6 @@
     @Override
     public boolean addAttribute(final Attribute attribute,
         final Collection<ByteString> duplicateValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -97,8 +94,7 @@
      */
     @Override
     public Entry addAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
+        final Object... values)
     {
       throw new UnsupportedOperationException();
     }
@@ -106,7 +102,7 @@
 
 
     @Override
-    public Entry clearAttributes() throws UnsupportedOperationException
+    public Entry clearAttributes()
     {
       throw new UnsupportedOperationException();
     }
@@ -115,7 +111,7 @@
 
     @Override
     public boolean containsAttribute(final Attribute attribute,
-        final Collection<ByteString> missingValues) throws NullPointerException
+        final Collection<ByteString> missingValues)
     {
       return entry.containsAttribute(attribute, missingValues);
     }
@@ -124,8 +120,7 @@
 
     @Override
     public boolean containsAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        NullPointerException
+        final Object... values)
     {
       return entry.containsAttribute(attributeDescription, values);
     }
@@ -169,7 +164,6 @@
     @Override
     public Iterable<Attribute> getAllAttributes(
         final String attributeDescription)
-        throws LocalizedIllegalArgumentException, NullPointerException
     {
       return Iterables.unmodifiableIterable(Iterables.transformedIterable(
           entry.getAllAttributes(attributeDescription),
@@ -200,7 +194,6 @@
      */
     @Override
     public Attribute getAttribute(final String attributeDescription)
-        throws LocalizedIllegalArgumentException, NullPointerException
     {
       final Attribute attribute = entry.getAttribute(attributeDescription);
       if (attribute != null)
@@ -251,7 +244,6 @@
     @Override
     public boolean removeAttribute(final Attribute attribute,
         final Collection<ByteString> missingValues)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -261,7 +253,6 @@
     @Override
     public boolean removeAttribute(
         final AttributeDescription attributeDescription)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -273,8 +264,7 @@
      */
     @Override
     public Entry removeAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
+        final Object... values)
     {
       throw new UnsupportedOperationException();
     }
@@ -286,7 +276,6 @@
      */
     @Override
     public boolean replaceAttribute(final Attribute attribute)
-        throws UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -298,8 +287,7 @@
      */
     @Override
     public Entry replaceAttribute(final String attributeDescription,
-        final Object... values) throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
+        final Object... values)
     {
       throw new UnsupportedOperationException();
     }
@@ -307,8 +295,7 @@
 
 
     @Override
-    public Entry setName(final DN dn) throws UnsupportedOperationException,
-        NullPointerException
+    public Entry setName(final DN dn)
     {
       throw new UnsupportedOperationException();
     }
@@ -320,8 +307,6 @@
      */
     @Override
     public Entry setName(final String dn)
-        throws LocalizedIllegalArgumentException,
-        UnsupportedOperationException, NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -490,7 +475,7 @@
    * @see Requests#newModifyRequest(Entry, Entry)
    */
   public static ModifyRequest diffEntries(final Entry fromEntry,
-      final Entry toEntry) throws NullPointerException
+      final Entry toEntry)
   {
     Validator.ensureNotNull(fromEntry, toEntry);
 
@@ -751,7 +736,6 @@
    *           If {@code entry} was {@code null}.
    */
   public static Entry unmodifiableEntry(final Entry entry)
-      throws NullPointerException
   {
     if (entry instanceof UnmodifiableEntry)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
index b5968e8..6b298aa 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Entry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -31,7 +32,7 @@
 
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 
 
 
@@ -90,8 +91,7 @@
    * @throws NullPointerException
    *           If {@code attribute} was {@code null}.
    */
-  boolean addAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean addAttribute(Attribute attribute);
 
 
 
@@ -124,8 +124,7 @@
    *           If {@code attribute} was {@code null}.
    */
   boolean addAttribute(Attribute attribute,
-      Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> duplicateValues);
 
 
 
@@ -165,9 +164,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Entry addAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  Entry addAttribute(String attributeDescription, Object... values);
 
 
 
@@ -178,7 +175,7 @@
    * @throws UnsupportedOperationException
    *           If this entry does not permit attributes to be removed.
    */
-  Entry clearAttributes() throws UnsupportedOperationException;
+  Entry clearAttributes();
 
 
 
@@ -199,7 +196,7 @@
    *           If {@code attribute} was {@code null}.
    */
   boolean containsAttribute(Attribute attribute,
-      Collection<ByteString> missingValues) throws NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
@@ -229,8 +226,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  boolean containsAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  boolean containsAttribute(String attributeDescription, Object... values);
 
 
 
@@ -272,8 +268,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription);
 
 
 
@@ -295,8 +290,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Iterable<Attribute> getAllAttributes(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Iterable<Attribute> getAllAttributes(String attributeDescription);
 
 
 
@@ -311,8 +305,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Attribute getAttribute(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Attribute getAttribute(AttributeDescription attributeDescription);
 
 
 
@@ -333,8 +326,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Attribute getAttribute(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Attribute getAttribute(String attributeDescription);
 
 
 
@@ -387,8 +379,7 @@
    *           If {@code attribute} was {@code null}.
    */
   boolean removeAttribute(Attribute attribute,
-      Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
@@ -405,8 +396,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  boolean removeAttribute(AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean removeAttribute(AttributeDescription attributeDescription);
 
 
 
@@ -439,9 +429,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  Entry removeAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  Entry removeAttribute(String attributeDescription, Object... values);
 
 
 
@@ -464,8 +452,7 @@
    * @throws NullPointerException
    *           If {@code attribute} was {@code null}.
    */
-  boolean replaceAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean replaceAttribute(Attribute attribute);
 
 
 
@@ -499,9 +486,7 @@
    * @throws NullPointerException
    *           If {@code attribute} was {@code null}.
    */
-  Entry replaceAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  Entry replaceAttribute(String attributeDescription, Object... values);
 
 
 
@@ -516,8 +501,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  Entry setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  Entry setName(DN dn);
 
 
 
@@ -538,8 +522,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  Entry setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  Entry setName(String dn);
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/EntryFactory.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/EntryFactory.java
index 4028b35..5251204 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/EntryFactory.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/EntryFactory.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -49,5 +50,5 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  Entry newEntry(DN name) throws NullPointerException;
+  Entry newEntry(DN name);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultException.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultException.java
index 584a5f9..201426b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultException.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultException.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -59,8 +59,7 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static ErrorResultException newErrorResult(
-      ResultCode resultCode) throws IllegalArgumentException,
-      NullPointerException
+      ResultCode resultCode)
   {
     return newErrorResult(resultCode, null, null);
   }
@@ -84,7 +83,6 @@
    */
   public static ErrorResultException newErrorResult(
       ResultCode resultCode, String diagnosticMessage)
-      throws IllegalArgumentException, NullPointerException
   {
     return newErrorResult(resultCode, diagnosticMessage, null);
   }
@@ -108,7 +106,6 @@
    */
   public static ErrorResultException newErrorResult(
       ResultCode resultCode, Throwable cause)
-      throws IllegalArgumentException, NullPointerException
   {
     return newErrorResult(resultCode, null, cause);
   }
@@ -135,7 +132,6 @@
    */
   public static ErrorResultException newErrorResult(
       ResultCode resultCode, String diagnosticMessage, Throwable cause)
-      throws IllegalArgumentException, NullPointerException
   {
     final Result result = Responses.newResult(resultCode);
     if (diagnosticMessage != null)
@@ -164,8 +160,7 @@
    *           If {@code result} was {@code null}.
    */
   public static ErrorResultException newErrorResult(
-      final Result result) throws IllegalArgumentException,
-      NullPointerException
+      final Result result)
   {
     if (!result.getResultCode().isExceptional())
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultIOException.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultIOException.java
index e5089b6..81c55fa 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultIOException.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ErrorResultIOException.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -56,7 +57,6 @@
    *           If {@code cause} was {@code null}.
    */
   public ErrorResultIOException(final ErrorResultException cause)
-      throws NullPointerException
   {
     super(Validator.ensureNotNull(cause));
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Filter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Filter.java
index 59d5139..d0ba9c9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Filter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/Filter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2011 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -1200,7 +1201,6 @@
    *           filter.
    */
   public static Filter valueOf(final String string)
-      throws LocalizedIllegalArgumentException
   {
     Validator.ensureNotNull(string);
 
@@ -1252,7 +1252,7 @@
   // Converts an assertion value to a substring filter.
   private static Filter assertionValue2SubstringFilter(
       final String filterString, final String attrType, final int equalPos,
-      final int endPos) throws LocalizedIllegalArgumentException
+      final int endPos)
   {
     // Get a binary representation of the value.
     final byte[] valueBytes = getBytes(filterString.substring(equalPos, endPos));
@@ -1357,7 +1357,6 @@
   private static void escapeHexChars(final ByteStringBuilder valueBuffer,
       final String string, final byte[] valueBytes, final int fromIndex,
       final int len, final int errorIndex)
-      throws LocalizedIllegalArgumentException
   {
     for (int i = fromIndex; i < len; i++)
     {
@@ -1508,7 +1507,6 @@
 
   private static Filter valueOf0(final String string,
       final int beginIndex /* inclusive */, final int endIndex /* exclusive */)
-      throws LocalizedIllegalArgumentException
   {
     if (beginIndex >= endIndex)
     {
@@ -1625,7 +1623,6 @@
 
   private static ByteString valueOfAssertionValue(final String string,
       final int startIndex, final int endIndex)
-      throws LocalizedIllegalArgumentException
   {
     boolean hasEscape = false;
     final byte[] valueBytes = getBytes(string.substring(startIndex, endIndex));
@@ -1656,7 +1653,6 @@
 
   private static String valueOfAttributeDescription(final String string,
       final int startIndex, final int endIndex)
-      throws LocalizedIllegalArgumentException
   {
     // The part of the filter string before the equal sign should be the
     // attribute type. Make sure that the characters it contains are
@@ -1769,7 +1765,6 @@
 
   private static Filter valueOfExtensibleFilter(final String string,
       final int startIndex, final int equalIndex, final int endIndex)
-      throws LocalizedIllegalArgumentException
   {
     String attributeDescription = null;
     boolean dnAttributes = false;
@@ -1851,7 +1846,6 @@
 
   private static List<Filter> valueOfFilterList(final String string,
       final int startIndex, final int endIndex)
-      throws LocalizedIllegalArgumentException
   {
     // If the end index is equal to the start index, then there are no
     // components.
@@ -1951,7 +1945,7 @@
 
   private static Filter valueOfGenericFilter(final String string,
       final String attributeDescription, final int startIndex,
-      final int endIndex) throws LocalizedIllegalArgumentException
+      final int endIndex)
   {
     final int asteriskIdx = string.indexOf('*', startIndex);
     if (startIndex >= endIndex)
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/FixedConnectionPool.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/FixedConnectionPool.java
index 8da8ba9..aff47bd 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/FixedConnectionPool.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/FixedConnectionPool.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -40,7 +40,6 @@
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.logging.Level;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.requests.*;
 import org.forgerock.opendj.ldap.responses.*;
 import org.forgerock.opendj.ldif.ConnectionEntryReader;
@@ -150,8 +149,6 @@
 
     @Override
     public FutureResult<Void> abandonAsync(final AbandonRequest request)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().abandonAsync(request);
     }
@@ -160,8 +157,7 @@
 
     @Override
     public Result add(final AddRequest request) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().add(request);
     }
@@ -170,8 +166,7 @@
 
     @Override
     public Result add(final Entry entry) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().add(entry);
     }
@@ -180,9 +175,7 @@
 
     @Override
     public Result add(final String... ldifLines) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        LocalizedIllegalArgumentException, IllegalStateException,
-        NullPointerException
+        InterruptedException
     {
       return checkState().add(ldifLines);
     }
@@ -193,8 +186,6 @@
     public FutureResult<Result> addAsync(final AddRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().addAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -207,8 +198,7 @@
      */
     @Override
     public void addConnectionEventListener(
-        final ConnectionEventListener listener) throws IllegalStateException,
-        NullPointerException
+        final ConnectionEventListener listener)
     {
       Validator.ensureNotNull(listener);
       checkState();
@@ -219,9 +209,7 @@
 
     @Override
     public BindResult bind(final BindRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().bind(request);
     }
@@ -230,9 +218,7 @@
 
     @Override
     public BindResult bind(final String name, final char[] password)
-        throws ErrorResultException, InterruptedException,
-        LocalizedIllegalArgumentException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().bind(name, password);
     }
@@ -243,8 +229,6 @@
     public FutureResult<BindResult> bindAsync(final BindRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().bindAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -298,7 +282,6 @@
      */
     @Override
     public void close(final UnbindRequest request, final String reason)
-        throws NullPointerException
     {
       close();
     }
@@ -307,9 +290,7 @@
 
     @Override
     public CompareResult compare(final CompareRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().compare(request);
     }
@@ -319,9 +300,7 @@
     @Override
     public CompareResult compare(final String name,
         final String attributeDescription, final String assertionValue)
-        throws ErrorResultException, InterruptedException,
-        LocalizedIllegalArgumentException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().compare(name, attributeDescription, assertionValue);
     }
@@ -333,8 +312,6 @@
         final CompareRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super CompareResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().compareAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -344,9 +321,7 @@
 
     @Override
     public Result delete(final DeleteRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().delete(request);
     }
@@ -355,9 +330,7 @@
 
     @Override
     public Result delete(final String name) throws ErrorResultException,
-        InterruptedException, LocalizedIllegalArgumentException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        InterruptedException
     {
       return checkState().delete(name);
     }
@@ -368,8 +341,6 @@
     public FutureResult<Result> deleteAsync(final DeleteRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().deleteAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -380,8 +351,7 @@
     @Override
     public <R extends ExtendedResult> R extendedRequest(
         final ExtendedRequest<R> request) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().extendedRequest(request);
     }
@@ -392,8 +362,7 @@
     public <R extends ExtendedResult> R extendedRequest(
         final ExtendedRequest<R> request,
         final IntermediateResponseHandler handler) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().extendedRequest(request, handler);
     }
@@ -403,8 +372,7 @@
     @Override
     public GenericExtendedResult extendedRequest(final String requestName,
         final ByteString requestValue) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().extendedRequest(requestName, requestValue);
     }
@@ -416,8 +384,6 @@
         final ExtendedRequest<R> request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super R> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().extendedRequestAsync(request,
           intermediateResponseHandler, resultHandler);
@@ -449,9 +415,7 @@
 
     @Override
     public Result modify(final ModifyRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().modify(request);
     }
@@ -460,9 +424,7 @@
 
     @Override
     public Result modify(final String... ldifLines)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, LocalizedIllegalArgumentException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().modify(ldifLines);
     }
@@ -473,8 +435,6 @@
     public FutureResult<Result> modifyAsync(final ModifyRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().modifyAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -484,9 +444,7 @@
 
     @Override
     public Result modifyDN(final ModifyDNRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().modifyDN(request);
     }
@@ -495,9 +453,7 @@
 
     @Override
     public Result modifyDN(final String name, final String newRDN)
-        throws ErrorResultException, LocalizedIllegalArgumentException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().modifyDN(name, newRDN);
     }
@@ -508,8 +464,6 @@
     public FutureResult<Result> modifyDNAsync(final ModifyDNRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().modifyDNAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -520,8 +474,7 @@
     @Override
     public SearchResultEntry readEntry(final DN name,
         final String... attributeDescriptions) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().readEntry(name, attributeDescriptions);
     }
@@ -531,9 +484,7 @@
     @Override
     public SearchResultEntry readEntry(final String name,
         final String... attributeDescriptions) throws ErrorResultException,
-        InterruptedException, LocalizedIllegalArgumentException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        InterruptedException
     {
       return checkState().readEntry(name, attributeDescriptions);
     }
@@ -544,8 +495,6 @@
     public FutureResult<SearchResultEntry> readEntryAsync(final DN name,
         final Collection<String> attributeDescriptions,
         final ResultHandler<? super SearchResultEntry> handler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().readEntryAsync(name, attributeDescriptions, handler);
     }
@@ -557,7 +506,7 @@
      */
     @Override
     public void removeConnectionEventListener(
-        final ConnectionEventListener listener) throws NullPointerException
+        final ConnectionEventListener listener)
     {
       Validator.ensureNotNull(listener);
       checkState();
@@ -568,8 +517,6 @@
 
     @Override
     public ConnectionEntryReader search(final SearchRequest request)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().search(request);
     }
@@ -579,9 +526,7 @@
     @Override
     public Result search(final SearchRequest request,
         final Collection<? super SearchResultEntry> entries)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().search(request, entries);
     }
@@ -592,9 +537,7 @@
     public Result search(final SearchRequest request,
         final Collection<? super SearchResultEntry> entries,
         final Collection<? super SearchResultReference> references)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().search(request, entries, references);
     }
@@ -604,8 +547,7 @@
     @Override
     public Result search(final SearchRequest request,
         final SearchResultHandler handler) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       return checkState().search(request, handler);
     }
@@ -616,8 +558,6 @@
     public ConnectionEntryReader search(final String baseObject,
         final SearchScope scope, final String filter,
         final String... attributeDescriptions)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().search(baseObject, scope, filter,
           attributeDescriptions);
@@ -629,8 +569,6 @@
     public FutureResult<Result> searchAsync(final SearchRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final SearchResultHandler resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().searchAsync(request, intermediateResponseHandler,
           resultHandler);
@@ -640,9 +578,7 @@
 
     @Override
     public SearchResultEntry searchSingleEntry(final SearchRequest request)
-        throws ErrorResultException, InterruptedException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       return checkState().searchSingleEntry(request);
     }
@@ -653,9 +589,7 @@
     public SearchResultEntry searchSingleEntry(final String baseObject,
         final SearchScope scope, final String filter,
         final String... attributeDescriptions) throws ErrorResultException,
-        InterruptedException, LocalizedIllegalArgumentException,
-        UnsupportedOperationException, IllegalStateException,
-        NullPointerException
+        InterruptedException
     {
       return checkState().searchSingleEntry(baseObject, scope, filter,
           attributeDescriptions);
@@ -667,8 +601,6 @@
     public FutureResult<SearchResultEntry> searchSingleEntryAsync(
         final SearchRequest request,
         final ResultHandler<? super SearchResultEntry> handler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       return checkState().searchSingleEntryAsync(request, handler);
     }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
index 2b9ee82..552fd00 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/KeyManagers.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -236,7 +237,7 @@
    *           If {@code file} was {@code null}.
    */
   public static X509KeyManager useKeyStoreFile(final String file)
-      throws GeneralSecurityException, IOException, NullPointerException
+      throws GeneralSecurityException, IOException
   {
     return useKeyStoreFile(file, null, null);
   }
@@ -268,7 +269,7 @@
    */
   public static X509KeyManager useKeyStoreFile(final String file,
       final char[] password, final String format)
-      throws GeneralSecurityException, IOException, NullPointerException
+      throws GeneralSecurityException, IOException
   {
     Validator.ensureNotNull(file);
 
@@ -381,7 +382,7 @@
    *           If {@code keyManager} or {@code alias} was {@code null}.
    */
   public static X509KeyManager useSingleCertificate(final String alias,
-      final X509KeyManager keyManager) throws NullPointerException
+      final X509KeyManager keyManager)
   {
     Validator.ensureNotNull(alias, keyManager);
     return new SelectCertificate(keyManager, alias);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPConnectionFactory.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPConnectionFactory.java
index 378a152..e842145 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPConnectionFactory.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPConnectionFactory.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -62,7 +62,6 @@
    *           If {@code address} was {@code null}.
    */
   public LDAPConnectionFactory(final SocketAddress address)
-      throws NullPointerException
   {
     this(address, new LDAPOptions());
   }
@@ -81,7 +80,7 @@
    *           If {@code address} or {@code options} was {@code null}.
    */
   public LDAPConnectionFactory(final SocketAddress address,
-      final LDAPOptions options) throws NullPointerException
+      final LDAPOptions options)
   {
     Validator.ensureNotNull(address, options);
     this.impl = new LDAPConnectionFactoryImpl(address, options);
@@ -101,7 +100,6 @@
    *           If {@code host} was {@code null}.
    */
   public LDAPConnectionFactory(final String host, final int port)
-      throws NullPointerException
   {
     this(host, port, new LDAPOptions());
   }
@@ -122,7 +120,7 @@
    *           If {@code host} or {@code options} was {@code null}.
    */
   public LDAPConnectionFactory(final String host, final int port,
-      final LDAPOptions options) throws NullPointerException
+      final LDAPOptions options)
   {
     Validator.ensureNotNull(host, options);
     final SocketAddress address = new InetSocketAddress(host, port);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListener.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListener.java
index 59ffb9d..77cf364 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListener.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListener.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -136,7 +137,7 @@
    */
   public LDAPListener(final int port,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory)
-      throws IOException, NullPointerException
+      throws IOException
   {
     this(port, factory, new LDAPListenerOptions());
   }
@@ -162,8 +163,7 @@
    */
   public LDAPListener(final int port,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory,
-      final LDAPListenerOptions options) throws IOException,
-      NullPointerException
+      final LDAPListenerOptions options) throws IOException
   {
     Validator.ensureNotNull(factory, options);
     final SocketAddress address = new InetSocketAddress(port);
@@ -189,7 +189,7 @@
    */
   public LDAPListener(final SocketAddress address,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory)
-      throws IOException, NullPointerException
+      throws IOException
   {
     this(address, factory, new LDAPListenerOptions());
   }
@@ -216,8 +216,7 @@
    */
   public LDAPListener(final SocketAddress address,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory,
-      final LDAPListenerOptions options) throws IOException,
-      NullPointerException
+      final LDAPListenerOptions options) throws IOException
   {
     Validator.ensureNotNull(address, factory, options);
     this.impl = new LDAPListenerImpl(address, factory, options);
@@ -244,7 +243,7 @@
    */
   public LDAPListener(final String host, final int port,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory)
-      throws IOException, NullPointerException
+      throws IOException
   {
     this(host, port, factory, new LDAPListenerOptions());
   }
@@ -273,8 +272,7 @@
    */
   public LDAPListener(final String host, final int port,
       final ServerConnectionFactory<LDAPClientContext, Integer> factory,
-      final LDAPListenerOptions options) throws IOException,
-      NullPointerException
+      final LDAPListenerOptions options) throws IOException
   {
     Validator.ensureNotNull(host, factory, options);
     final SocketAddress address = new InetSocketAddress(host, port);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListenerOptions.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListenerOptions.java
index 1451335..d46b54e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListenerOptions.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPListenerOptions.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -178,7 +179,7 @@
    *           If {@code decodeOptions} was {@code null}.
    */
   public final LDAPListenerOptions setDecodeOptions(
-      final DecodeOptions decodeOptions) throws NullPointerException
+      final DecodeOptions decodeOptions)
   {
     Validator.ensureNotNull(decodeOptions);
     this.decodeOptions = decodeOptions;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPOptions.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPOptions.java
index 49095b9..14c0a71 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPOptions.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPOptions.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -178,7 +179,6 @@
    *           If {@code decodeOptions} was {@code null}.
    */
   public final LDAPOptions setDecodeOptions(final DecodeOptions decodeOptions)
-      throws NullPointerException
   {
     Validator.ensureNotNull(decodeOptions);
     this.decodeOptions = decodeOptions;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPUrl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPUrl.java
index b863bb1..1db59d2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPUrl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LDAPUrl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -253,7 +254,6 @@
    *           If {@code url} was {@code null}.
    */
   public static LDAPUrl valueOf(final String url)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return valueOf(url, Schema.getDefaultSchema());
   }
@@ -276,7 +276,6 @@
    *           If {@code url} or {@code schema} was {@code null}.
    */
   public static LDAPUrl valueOf(final String url, final Schema schema)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(url, schema);
     return new LDAPUrl(url, schema);
@@ -285,7 +284,7 @@
 
 
   private static int decodeHex(final String url, final int index,
-      final char hexChar) throws LocalizedIllegalArgumentException
+      final char hexChar)
   {
     if (hexChar >= '0' && hexChar <= '9')
     {
@@ -308,7 +307,6 @@
 
   private static void percentDecoder(final String urlString, final int index,
       final String s, final StringBuilder decoded)
-      throws LocalizedIllegalArgumentException
   {
     Validator.ensureNotNull(s, decoded);
     decoded.append(s);
@@ -392,7 +390,6 @@
    */
   public LDAPUrl(final boolean isSecured, final String host,
       final Integer port, final DN name)
-      throws LocalizedIllegalArgumentException
   {
     this(isSecured, host, port, name, DEFAULT_SCOPE, DEFAULT_FILTER);
   }
@@ -430,7 +427,6 @@
   public LDAPUrl(final boolean isSecured, final String host,
       final Integer port, final DN name, final SearchScope scope,
       final Filter filter, final String... attributes)
-      throws LocalizedIllegalArgumentException
   {
     // The buffer storing the encoded url.
     final StringBuilder urlBuffer = new StringBuilder();
@@ -540,7 +536,6 @@
 
 
   private LDAPUrl(final String urlString, final Schema schema)
-      throws LocalizedIllegalArgumentException
   {
     this.urlString = urlString;
 
@@ -887,7 +882,7 @@
 
 
   private int parseHostPort(final String urlString, final String hostAndPort,
-      final StringBuilder host) throws LocalizedIllegalArgumentException
+      final StringBuilder host)
   {
     Validator.ensureNotNull(hostAndPort, port, host);
     int urlPort = isSecured ? DEFAULT_SSL_PORT : DEFAULT_PORT;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedAttribute.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedAttribute.java
index a2effbb..7d640df 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedAttribute.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedAttribute.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -31,7 +32,7 @@
 
 import java.util.*;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 
 import com.forgerock.opendj.util.Validator;
 
@@ -84,8 +85,7 @@
 
 
 
-    abstract ByteString firstValue(LinkedAttribute attribute)
-        throws NoSuchElementException;
+    abstract ByteString firstValue(LinkedAttribute attribute);
 
 
 
@@ -146,7 +146,6 @@
 
     @Override
     ByteString firstValue(final LinkedAttribute attribute)
-        throws NoSuchElementException
     {
       return attribute.multipleValues.values().iterator().next();
     }
@@ -361,7 +360,6 @@
 
     @Override
     ByteString firstValue(final LinkedAttribute attribute)
-        throws NoSuchElementException
     {
       if (attribute.singleValue != null)
       {
@@ -549,7 +547,6 @@
 
     @Override
     ByteString firstValue(final LinkedAttribute attribute)
-        throws NoSuchElementException
     {
       throw new NoSuchElementException();
     }
@@ -641,7 +638,6 @@
     @Override
     public Attribute newAttribute(
         final AttributeDescription attributeDescription)
-        throws NullPointerException
     {
       return new LinkedAttribute(attributeDescription);
     }
@@ -674,7 +670,7 @@
    * @throws NullPointerException
    *           If {@code attribute} was {@code null}.
    */
-  public LinkedAttribute(final Attribute attribute) throws NullPointerException
+  public LinkedAttribute(final Attribute attribute)
   {
     this.attributeDescription = attribute.getAttributeDescription();
 
@@ -708,7 +704,6 @@
    *           If {@code attributeDescription} was {@code null}.
    */
   public LinkedAttribute(final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
     this.attributeDescription = attributeDescription;
@@ -729,7 +724,7 @@
    *           .
    */
   public LinkedAttribute(final AttributeDescription attributeDescription,
-      final ByteString value) throws NullPointerException
+      final ByteString value)
   {
     this(attributeDescription);
     add(value);
@@ -750,7 +745,7 @@
    *           {@code null}.
    */
   public LinkedAttribute(final AttributeDescription attributeDescription,
-      final ByteString... values) throws NullPointerException
+      final ByteString... values)
   {
     this(attributeDescription);
     addAll(Arrays.asList(values));
@@ -771,7 +766,7 @@
    *           {@code null}.
    */
   public LinkedAttribute(final AttributeDescription attributeDescription,
-      final Collection<ByteString> values) throws NullPointerException
+      final Collection<ByteString> values)
   {
     this(attributeDescription);
     addAll(values);
@@ -793,7 +788,6 @@
    *           If {@code attributeDescription} was {@code null}.
    */
   public LinkedAttribute(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(AttributeDescription.valueOf(attributeDescription));
   }
@@ -820,7 +814,6 @@
    *           .
    */
   public LinkedAttribute(final String attributeDescription, final Object value)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(attributeDescription);
     add(ByteString.valueOf(value));
@@ -848,8 +841,7 @@
    *           {@code null}.
    */
   public LinkedAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final Object... values)
   {
     this(attributeDescription);
     for (final Object value : values)
@@ -864,7 +856,7 @@
    * {@inheritDoc}
    */
   @Override
-  public boolean add(final ByteString value) throws NullPointerException
+  public boolean add(final ByteString value)
   {
     Validator.ensureNotNull(value);
     return pimpl.add(this, value);
@@ -878,7 +870,6 @@
   @Override
   public boolean addAll(final Collection<? extends ByteString> values,
       final Collection<? super ByteString> duplicateValues)
-      throws NullPointerException
   {
     Validator.ensureNotNull(values);
 
@@ -916,7 +907,7 @@
    * {@inheritDoc}
    */
   @Override
-  public boolean contains(final Object value) throws NullPointerException
+  public boolean contains(final Object value)
   {
     Validator.ensureNotNull(value);
     return pimpl.contains(this, ByteString.valueOf(value));
@@ -929,7 +920,6 @@
    */
   @Override
   public boolean containsAll(final Collection<?> values)
-      throws NullPointerException
   {
     Validator.ensureNotNull(values);
     return pimpl.containsAll(this, values);
@@ -941,7 +931,7 @@
    * {@inheritDoc}
    */
   @Override
-  public ByteString firstValue() throws NoSuchElementException
+  public ByteString firstValue()
   {
     return pimpl.firstValue(this);
   }
@@ -974,7 +964,7 @@
    * {@inheritDoc}
    */
   @Override
-  public boolean remove(final Object value) throws NullPointerException
+  public boolean remove(final Object value)
   {
     Validator.ensureNotNull(value);
     return pimpl.remove(this, ByteString.valueOf(value));
@@ -987,7 +977,7 @@
    */
   @Override
   public <T> boolean removeAll(final Collection<T> values,
-      final Collection<? super T> missingValues) throws NullPointerException
+      final Collection<? super T> missingValues)
   {
     Validator.ensureNotNull(values);
 
@@ -1015,7 +1005,7 @@
    */
   @Override
   public <T> boolean retainAll(final Collection<T> values,
-      final Collection<? super T> missingValues) throws NullPointerException
+      final Collection<? super T> missingValues)
   {
     Validator.ensureNotNull(values);
     return pimpl.retainAll(this, values, missingValues);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java
index c425db3..f900a06 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/LinkedHashMapEntry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -31,7 +32,7 @@
 
 import java.util.LinkedHashMap;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.requests.Requests;
 
 import com.forgerock.opendj.util.Validator;
@@ -61,7 +62,7 @@
    */
   public static final EntryFactory FACTORY = new EntryFactory()
   {
-    public Entry newEntry(final DN name) throws NullPointerException
+    public Entry newEntry(final DN name)
     {
       return new LinkedHashMapEntry(name);
     }
@@ -85,7 +86,6 @@
    * @see #LinkedHashMapEntry(Entry)
    */
   public static LinkedHashMapEntry deepCopyOfEntry(final Entry entry)
-      throws NullPointerException
   {
     LinkedHashMapEntry copy = new LinkedHashMapEntry(entry.getName());
     for (final Attribute attribute : entry.getAllAttributes())
@@ -116,7 +116,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  public LinkedHashMapEntry(final DN name) throws NullPointerException
+  public LinkedHashMapEntry(final DN name)
   {
     super(Validator.ensureNotNull(name),
         new LinkedHashMap<AttributeDescription, Attribute>());
@@ -137,7 +137,7 @@
    *           If {@code entry} was {@code null}.
    * @see #deepCopyOfEntry(Entry)
    */
-  public LinkedHashMapEntry(final Entry entry) throws NullPointerException
+  public LinkedHashMapEntry(final Entry entry)
   {
     this(entry.getName());
     for (final Attribute attribute : entry.getAllAttributes())
@@ -160,7 +160,6 @@
    *           If {@code name} was {@code null}.
    */
   public LinkedHashMapEntry(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(DN.valueOf(name));
   }
@@ -181,7 +180,6 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public LinkedHashMapEntry(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(Requests.newAddRequest(ldifLines));
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RDN.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RDN.java
index 9e52acc..efdf5cf 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RDN.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RDN.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -122,7 +122,6 @@
    *           If {@code rdn} was {@code null}.
    */
   public static RDN valueOf(final String rdn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return valueOf(rdn, Schema.getDefaultSchema());
   }
@@ -145,7 +144,6 @@
    *           If {@code rdn} or {@code schema} was {@code null}.
    */
   public static RDN valueOf(final String rdn, final Schema schema)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     final SubstringReader reader = new SubstringReader(rdn);
     try
@@ -165,8 +163,7 @@
   // FIXME: ensure that the decoded RDN does not contain multiple AVAs
   // with the same type.
   static RDN decode(final String rdnString, final SubstringReader reader,
-      final Schema schema) throws LocalizedIllegalArgumentException,
-      UnknownSchemaElementException
+      final Schema schema)
   {
     final AVA firstAVA = AVA.decode(reader, schema);
 
@@ -223,7 +220,6 @@
    *           null}.
    */
   public RDN(final AttributeType attributeType, final ByteString attributeValue)
-      throws NullPointerException
   {
     this.avas = new AVA[] { new AVA(attributeType, attributeValue) };
   }
@@ -248,7 +244,6 @@
    *           null}.
    */
   public RDN(final String attributeType, final Object attributeValue)
-      throws UnknownSchemaElementException, NullPointerException
   {
     this.avas = new AVA[] { new AVA(attributeType, attributeValue) };
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestContext.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestContext.java
index 8bf6db9..992a777 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestContext.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestContext.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2011 ForgeRock AS
+ *      Copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -61,8 +61,7 @@
    *           If the {@code listener} was {@code null}.
    * @see #checkIfCancelled
    */
-  void addCancelRequestListener(CancelRequestListener listener)
-      throws NullPointerException;
+  void addCancelRequestListener(CancelRequestListener listener);
 
 
 
@@ -113,6 +112,5 @@
    * @throws NullPointerException
    *           If the {@code listener} was {@code null}.
    */
-  void removeCancelRequestListener(CancelRequestListener listener)
-      throws NullPointerException;
+  void removeCancelRequestListener(CancelRequestListener listener);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
index 1f2802e..eb055c2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandler.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -76,8 +76,7 @@
    */
   void handleAdd(C requestContext, AddRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -101,8 +100,7 @@
    */
   void handleBind(C requestContext, int version, BindRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super BindResult> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super BindResult> resultHandler);
 
 
 
@@ -124,8 +122,7 @@
    */
   void handleCompare(C requestContext, CompareRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super CompareResult> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super CompareResult> resultHandler);
 
 
 
@@ -147,8 +144,7 @@
    */
   void handleDelete(C requestContext, DeleteRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -173,8 +169,7 @@
   <R extends ExtendedResult> void handleExtendedRequest(C requestContext,
       ExtendedRequest<R> request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super R> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super R> resultHandler);
 
 
 
@@ -196,8 +191,7 @@
    */
   void handleModify(C requestContext, ModifyRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -219,8 +213,7 @@
    */
   void handleModifyDN(C requestContext, ModifyDNRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      ResultHandler<? super Result> resultHandler)
-      throws UnsupportedOperationException;
+      ResultHandler<? super Result> resultHandler);
 
 
 
@@ -242,5 +235,5 @@
    */
   void handleSearch(C requestContext, SearchRequest request,
       IntermediateResponseHandler intermediateResponseHandler,
-      SearchResultHandler resultHandler) throws UnsupportedOperationException;
+      SearchResultHandler resultHandler);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
index a097fcf..9165989 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RequestHandlerFactoryAdapter.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2011 ForgeRock AS
+ *      Copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -163,7 +163,6 @@
      */
     @Override
     public void addCancelRequestListener(final CancelRequestListener listener)
-        throws NullPointerException
     {
       Validator.ensureNotNull(listener);
 
@@ -292,7 +291,6 @@
      */
     @Override
     public void removeCancelRequestListener(final CancelRequestListener listener)
-        throws NullPointerException
     {
       Validator.ensureNotNull(listener);
 
@@ -553,7 +551,7 @@
      */
     @Override
     public void handleAbandon(final Integer messageID,
-        final AbandonRequest request) throws UnsupportedOperationException
+        final AbandonRequest request)
     {
       final RequestContextImpl<?, ?> abandonedRequest = getPendingRequest(request
           .getRequestID());
@@ -574,7 +572,6 @@
     public void handleAdd(final Integer messageID, final AddRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
           new RequestContextImpl<Result, ResultHandler<? super Result>>(
@@ -596,7 +593,6 @@
         final BindRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<BindResult, ResultHandler<? super BindResult>> requestContext =
           new RequestContextImpl<BindResult, ResultHandler<? super BindResult>>(
@@ -618,7 +614,6 @@
         final CompareRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super CompareResult> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<CompareResult, ResultHandler<? super CompareResult>> requestContext =
           new RequestContextImpl<CompareResult, ResultHandler<? super CompareResult>>(
@@ -681,7 +676,6 @@
         final DeleteRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
           new RequestContextImpl<Result, ResultHandler<? super Result>>(
@@ -703,7 +697,6 @@
         final Integer messageID, final ExtendedRequest<R> request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super R> resultHandler)
-        throws UnsupportedOperationException
     {
       if (request.getOID().equals(CancelExtendedRequest.OID))
       {
@@ -782,7 +775,6 @@
         final ModifyRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
           new RequestContextImpl<Result, ResultHandler<? super Result>>(
@@ -804,7 +796,6 @@
         final ModifyDNRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException
     {
       final RequestContextImpl<Result, ResultHandler<? super Result>> requestContext =
           new RequestContextImpl<Result, ResultHandler<? super Result>>(
@@ -826,7 +817,6 @@
         final SearchRequest request,
         final IntermediateResponseHandler intermediateResponseHandler,
         final SearchResultHandler resultHandler)
-        throws UnsupportedOperationException
     {
       final SearchRequestContextImpl requestContext = new SearchRequestContextImpl(
           this, resultHandler, messageID, true);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RootDSE.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
index 067d9d2..ef9e9e6 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/RootDSE.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap;
@@ -158,8 +158,6 @@
    */
   public static FutureResult<RootDSE> readRootDSEAsync(
       final Connection connection, final ResultHandler<? super RootDSE> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final FutureResultTransformer<SearchResultEntry, RootDSE> future =
       new FutureResultTransformer<SearchResultEntry, RootDSE>(handler)
@@ -206,9 +204,7 @@
    *           If the {@code connection} was {@code null}.
    */
   public static RootDSE readRootDSE(final Connection connection)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     final Entry entry = connection.searchSingleEntry(SEARCH_REQUEST);
     return valueOf(entry);
@@ -229,7 +225,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null} .
    */
-  public static RootDSE valueOf(Entry entry) throws NullPointerException
+  public static RootDSE valueOf(Entry entry)
   {
     Validator.ensureNotNull(entry);
     return new RootDSE(entry);
@@ -242,7 +238,7 @@
 
 
   // Prevent direct instantiation.
-  private RootDSE(final Entry entry) throws NullPointerException
+  private RootDSE(final Entry entry)
   {
     this.entry = entry;
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchResultReferenceIOException.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchResultReferenceIOException.java
index 844f259..c46cc1a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchResultReferenceIOException.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SearchResultReferenceIOException.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -59,7 +60,6 @@
    *           If {@code reference} was {@code null}.
    */
   public SearchResultReferenceIOException(final SearchResultReference reference)
-      throws NullPointerException
   {
     super(Validator.ensureNotNull(reference).toString());
     this.reference = reference;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ServerConnection.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ServerConnection.java
index 46ab9cc..ead8b96 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ServerConnection.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/ServerConnection.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -62,8 +63,7 @@
    * @throws UnsupportedOperationException
    *           If this server connection does not handle abandon requests.
    */
-  void handleAbandon(C requestContext, AbandonRequest request)
-      throws UnsupportedOperationException;
+  void handleAbandon(C requestContext, AbandonRequest request);
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SortKey.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SortKey.java
index 35fc4aa..949c1ab 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SortKey.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/SortKey.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap;
 
@@ -230,8 +231,6 @@
    *           If {@code keys} was {@code null}.
    */
   public static Comparator<Entry> comparator(final Collection<SortKey> keys)
-      throws LocalizedIllegalArgumentException, IllegalArgumentException,
-      NullPointerException
   {
     return comparator(Schema.getDefaultSchema(), keys);
   }
@@ -256,8 +255,7 @@
    *           If {@code schema} or {@code keys} was {@code null}.
    */
   public static Comparator<Entry> comparator(final Schema schema,
-      final Collection<SortKey> keys) throws LocalizedIllegalArgumentException,
-      IllegalArgumentException, NullPointerException
+      final Collection<SortKey> keys)
   {
     Validator.ensureNotNull(schema, keys);
     Validator.ensureTrue(!keys.isEmpty(), "keys must not be empty");
@@ -292,7 +290,6 @@
    */
   public static Comparator<Entry> comparator(final Schema schema,
       final SortKey firstKey, final SortKey... remainingKeys)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(schema, firstKey, remainingKeys);
 
@@ -324,8 +321,7 @@
    *           If {@code firstKey} was {@code null}.
    */
   public static Comparator<Entry> comparator(final SortKey firstKey,
-      final SortKey... remainingKeys) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final SortKey... remainingKeys)
   {
     return comparator(Schema.getDefaultSchema(), firstKey, remainingKeys);
   }
@@ -351,7 +347,6 @@
    *           If {@code sortKeys} was {@code null}.
    */
   public static Comparator<Entry> comparator(final String sortKeys)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(sortKeys);
 
@@ -403,7 +398,6 @@
    *           If {@code sortKey} was {@code null}.
    */
   public static final SortKey valueOf(String sortKey)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(sortKey);
 
@@ -480,7 +474,6 @@
    */
   public SortKey(final AttributeDescription attributeDescription,
       final boolean isReverseOrder, final MatchingRule orderingMatchingRule)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
     this.attributeDescription = attributeDescription.toString();
@@ -502,7 +495,7 @@
    * @throws NullPointerException
    *           If {@code AttributeDescription} was {@code null}.
    */
-  public SortKey(final String attributeDescription) throws NullPointerException
+  public SortKey(final String attributeDescription)
   {
     this(attributeDescription, false, null);
   }
@@ -523,7 +516,6 @@
    *           If {@code AttributeDescription} was {@code null}.
    */
   public SortKey(final String attributeDescription, final boolean isReverseOrder)
-      throws NullPointerException
   {
     this(attributeDescription, isReverseOrder, null);
   }
@@ -550,7 +542,6 @@
    */
   public SortKey(final String attributeDescription,
       final boolean isReverseOrder, final String orderingMatchingRule)
-      throws NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
     this.attributeDescription = attributeDescription;
@@ -572,7 +563,6 @@
    *           found.
    */
   public Comparator<Entry> comparator()
-      throws LocalizedIllegalArgumentException
   {
     return comparator(Schema.getDefaultSchema());
   }
@@ -596,7 +586,6 @@
    *           If {@code schema} was {@code null}.
    */
   public Comparator<Entry> comparator(final Schema schema)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(schema);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java
index 6538503..87e46a3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TreeMapEntry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -31,7 +32,7 @@
 
 import java.util.TreeMap;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.requests.Requests;
 
 import com.forgerock.opendj.util.Validator;
@@ -62,7 +63,7 @@
    */
   public static final EntryFactory FACTORY = new EntryFactory()
   {
-    public Entry newEntry(final DN name) throws NullPointerException
+    public Entry newEntry(final DN name)
     {
       return new TreeMapEntry(name);
     }
@@ -85,7 +86,6 @@
    * @see #TreeMapEntry(Entry)
    */
   public static TreeMapEntry deepCopyOfEntry(final Entry entry)
-      throws NullPointerException
   {
     TreeMapEntry copy = new TreeMapEntry(entry.getName());
     for (final Attribute attribute : entry.getAllAttributes())
@@ -116,7 +116,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  public TreeMapEntry(final DN name) throws NullPointerException
+  public TreeMapEntry(final DN name)
   {
     super(Validator.ensureNotNull(name),
         new TreeMap<AttributeDescription, Attribute>());
@@ -137,7 +137,7 @@
    *           If {@code entry} was {@code null}.
    * @see #deepCopyOfEntry(Entry)
    */
-  public TreeMapEntry(final Entry entry) throws NullPointerException
+  public TreeMapEntry(final Entry entry)
   {
     this(entry.getName());
     for (final Attribute attribute : entry.getAllAttributes())
@@ -160,7 +160,6 @@
    *           If {@code name} was {@code null}.
    */
   public TreeMapEntry(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(DN.valueOf(name));
   }
@@ -181,7 +180,6 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public TreeMapEntry(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this(Requests.newAddRequest(ldifLines));
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
index 1d9b4ca..6e5b01e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/TrustManagers.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap;
@@ -384,7 +385,7 @@
    *           null}.
    */
   public static X509TrustManager checkHostName(final String hostNamePattern,
-      final X509TrustManager trustManager) throws NullPointerException
+      final X509TrustManager trustManager)
   {
     Validator.ensureNotNull(trustManager, hostNamePattern);
     return new CheckHostName(trustManager, hostNamePattern);
@@ -411,7 +412,7 @@
    *           If {@code file} was {@code null}.
    */
   public static X509TrustManager checkUsingTrustStore(final String file)
-      throws GeneralSecurityException, IOException, NullPointerException
+      throws GeneralSecurityException, IOException
   {
     return checkUsingTrustStore(file, null, null);
   }
@@ -443,7 +444,7 @@
    */
   public static X509TrustManager checkUsingTrustStore(final String file,
       final char[] password, final String format)
-      throws GeneralSecurityException, IOException, NullPointerException
+      throws GeneralSecurityException, IOException
   {
     Validator.ensureNotNull(file);
 
@@ -510,7 +511,7 @@
    *           If {@code trustManager} was {@code null}.
    */
   public static X509TrustManager checkValidityDates(
-      final X509TrustManager trustManager) throws NullPointerException
+      final X509TrustManager trustManager)
   {
     Validator.ensureNotNull(trustManager);
     return new CheckValidatyDates(trustManager);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java
index 7a01e12..c5fd3e4 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AssertionRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -137,7 +138,7 @@
    *           If {@code filter} was {@code null}.
    */
   public static AssertionRequestControl newControl(final boolean isCritical,
-      final Filter filter) throws NullPointerException
+      final Filter filter)
   {
     return new AssertionRequestControl(isCritical, filter);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java
index 5f97a7d..9ab6133 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/AuthorizationIdentityResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -80,7 +81,7 @@
    *           If {@code authorizationID} was {@code null}.
    */
   public static AuthorizationIdentityResponseControl newControl(
-      final String authorizationID) throws NullPointerException
+      final String authorizationID)
   {
     return new AuthorizationIdentityResponseControl(false, authorizationID);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java
index d26bac5..83b37e1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/EntryChangeNotificationResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -207,7 +208,7 @@
    */
   public static EntryChangeNotificationResponseControl newControl(
       final PersistentSearchChangeType type, final DN previousName,
-      final long changeNumber) throws NullPointerException
+      final long changeNumber)
   {
     return new EntryChangeNotificationResponseControl(false, type,
         previousName, changeNumber);
@@ -239,8 +240,7 @@
    */
   public static EntryChangeNotificationResponseControl newControl(
       final PersistentSearchChangeType type, final String previousName,
-      final long changeNumber) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final long changeNumber)
   {
     return new EntryChangeNotificationResponseControl(false, type, DN
         .valueOf(previousName), changeNumber);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java
index 5055385..3356d32 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GenericControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -53,7 +54,6 @@
    *           If {@code control} was {@code null}.
    */
   public static GenericControl newControl(final Control control)
-      throws NullPointerException
   {
     Validator.ensureNotNull(control);
 
@@ -78,7 +78,6 @@
    *           If {@code oid} was {@code null}.
    */
   public static GenericControl newControl(final String oid)
-      throws NullPointerException
   {
     return new GenericControl(oid, false, null);
   }
@@ -100,7 +99,7 @@
    *           If {@code oid} was {@code null}.
    */
   public static GenericControl newControl(final String oid,
-      final boolean isCritical) throws NullPointerException
+      final boolean isCritical)
   {
     return new GenericControl(oid, isCritical, null);
   }
@@ -128,7 +127,7 @@
    *           If {@code oid} was {@code null}.
    */
   public static GenericControl newControl(final String oid,
-      final boolean isCritical, final Object value) throws NullPointerException
+      final boolean isCritical, final Object value)
   {
     return new GenericControl(oid, isCritical, (value == null) ? null
         : ByteString.valueOf(value));
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java
index c09c780..57ae6f8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/GetEffectiveRightsRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -219,7 +220,7 @@
    */
   public static GetEffectiveRightsRequestControl newControl(
       final boolean isCritical, final DN authorizationName,
-      final Collection<AttributeType> attributes) throws NullPointerException
+      final Collection<AttributeType> attributes)
   {
     Validator.ensureNotNull(attributes);
 
@@ -261,8 +262,7 @@
    */
   public static GetEffectiveRightsRequestControl newControl(
       final boolean isCritical, final String authorizationName,
-      final String... attributes) throws UnknownSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final String... attributes)
   {
     Validator.ensureNotNull((Object) attributes);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java
index 9d12fe9..2e85d65 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/MatchedValuesRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -272,8 +273,6 @@
    */
   public static MatchedValuesRequestControl newControl(
       final boolean isCritical, final Collection<Filter> filters)
-      throws LocalizedIllegalArgumentException, IllegalArgumentException,
-      NullPointerException
   {
     Validator.ensureNotNull(filters);
     Validator.ensureTrue(filters.size() > 0, "filters is empty");
@@ -322,7 +321,6 @@
   public static MatchedValuesRequestControl newControl(
       final boolean isCritical, final String firstFilter,
       final String... remainingFilters)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(firstFilter);
 
@@ -349,7 +347,6 @@
 
 
   private static Filter validateFilter(final Filter filter)
-      throws LocalizedIllegalArgumentException
   {
     final LocalizedIllegalArgumentException e = filter.accept(FILTER_VALIDATOR,
         filter);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java
index 1d56db1..1c6c23c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PasswordPolicyResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -197,7 +198,7 @@
    *           If {@code errorType} was {@code null}.
    */
   public static PasswordPolicyResponseControl newControl(
-      final PasswordPolicyErrorType errorType) throws NullPointerException
+      final PasswordPolicyErrorType errorType)
   {
     Validator.ensureNotNull(errorType);
 
@@ -221,7 +222,6 @@
    */
   public static PasswordPolicyResponseControl newControl(
       final PasswordPolicyWarningType warningType, final int warningValue)
-      throws IllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(warningType);
     Validator.ensureTrue(warningValue >= 0, "warningValue is negative");
@@ -250,8 +250,7 @@
    */
   public static PasswordPolicyResponseControl newControl(
       final PasswordPolicyWarningType warningType, final int warningValue,
-      final PasswordPolicyErrorType errorType) throws IllegalArgumentException,
-      NullPointerException
+      final PasswordPolicyErrorType errorType)
   {
     Validator.ensureNotNull(warningType, errorType);
     Validator.ensureTrue(warningValue >= 0, "warningValue is negative");
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
index 2460557..2e4fa54 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PersistentSearchRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -197,7 +198,6 @@
       final boolean isCritical, final boolean changesOnly,
       final boolean returnECs,
       final Collection<PersistentSearchChangeType> changeTypes)
-      throws NullPointerException
   {
     Validator.ensureNotNull(changeTypes);
 
@@ -236,7 +236,6 @@
   public static PersistentSearchRequestControl newControl(
       final boolean isCritical, final boolean changesOnly,
       final boolean returnECs, final PersistentSearchChangeType... changeTypes)
-      throws NullPointerException
   {
     Validator.ensureNotNull((Object) changeTypes);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java
index ac85bbd..e700a18 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -190,7 +191,7 @@
    *           If {@code attributes} was {@code null}.
    */
   public static PostReadRequestControl newControl(final boolean isCritical,
-      final Collection<String> attributes) throws NullPointerException
+      final Collection<String> attributes)
   {
     Validator.ensureNotNull(attributes);
 
@@ -230,7 +231,7 @@
    *           If {@code attributes} was {@code null}.
    */
   public static PostReadRequestControl newControl(final boolean isCritical,
-      final String... attributes) throws NullPointerException
+      final String... attributes)
   {
     Validator.ensureNotNull((Object) attributes);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java
index bf967aa..d963b13 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PostReadResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -147,7 +148,6 @@
    *           If {@code entry} was {@code null}.
    */
   public static PostReadResponseControl newControl(final Entry entry)
-      throws NullPointerException
   {
     /**
      * FIXME: all other control implementations are fully immutable. We should
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java
index 21bf690..d361972 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -190,7 +191,7 @@
    *           If {@code attributes} was {@code null}.
    */
   public static PreReadRequestControl newControl(final boolean isCritical,
-      final Collection<String> attributes) throws NullPointerException
+      final Collection<String> attributes)
   {
     Validator.ensureNotNull(attributes);
 
@@ -230,7 +231,7 @@
    *           If {@code attributes} was {@code null}.
    */
   public static PreReadRequestControl newControl(final boolean isCritical,
-      final String... attributes) throws NullPointerException
+      final String... attributes)
   {
     Validator.ensureNotNull((Object) attributes);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java
index d683a96..df384db 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/PreReadResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.controls;
@@ -147,7 +148,6 @@
    *           If {@code entry} was {@code null}.
    */
   public static PreReadResponseControl newControl(final Entry entry)
-      throws NullPointerException
   {
     /**
      * FIXME: all other control implementations are fully immutable. We should
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java
index cf8d545..1448fe8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV1RequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -167,7 +168,7 @@
    *           If {@code authorizationName} was {@code null}.
    */
   public static ProxiedAuthV1RequestControl newControl(
-      final DN authorizationName) throws NullPointerException
+      final DN authorizationName)
   {
     Validator.ensureNotNull(authorizationName);
     return new ProxiedAuthV1RequestControl(authorizationName);
@@ -190,8 +191,7 @@
    *           If {@code authorizationName} was {@code null}.
    */
   public static ProxiedAuthV1RequestControl newControl(
-      final String authorizationName) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final String authorizationName)
   {
     Validator.ensureNotNull(authorizationName);
     return new ProxiedAuthV1RequestControl(DN.valueOf(authorizationName));
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java
index deb4003..a67306a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ProxiedAuthV2RequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -178,8 +179,7 @@
    *           If {@code authorizationName} was {@code null}.
    */
   public static final ProxiedAuthV2RequestControl newControl(
-      final String authorizationID) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final String authorizationID)
   {
     if (authorizationID.length() == 0)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java
index 708291b..79cc62a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -185,7 +186,6 @@
    */
   public static ServerSideSortRequestControl newControl(
       final boolean isCritical, final Collection<SortKey> keys)
-      throws IllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(keys);
     Validator.ensureTrue(!keys.isEmpty(), "keys must not be empty");
@@ -214,7 +214,7 @@
    */
   public static ServerSideSortRequestControl newControl(
       final boolean isCritical, final SortKey firstKey,
-      final SortKey... remainingKeys) throws NullPointerException
+      final SortKey... remainingKeys)
   {
     Validator.ensureNotNull(firstKey, remainingKeys);
 
@@ -252,7 +252,6 @@
    */
   public static ServerSideSortRequestControl newControl(
       final boolean isCritical, final String sortKeys)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(sortKeys);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java
index 7fe0123..c1678f9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/ServerSideSortResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -165,7 +166,6 @@
    *           If {@code result} was {@code null}.
    */
   public static ServerSideSortResponseControl newControl(final ResultCode result)
-      throws NullPointerException
   {
     Validator.ensureNotNull(result);
 
@@ -194,7 +194,6 @@
    */
   public static ServerSideSortResponseControl newControl(
       final ResultCode result, final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     Validator.ensureNotNull(result);
 
@@ -228,7 +227,6 @@
    */
   public static ServerSideSortResponseControl newControl(
       final ResultCode result, final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(result);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
index 1a8b37b..d49abe1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/SimplePagedResultsControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -205,7 +206,7 @@
    *           If {@code cookie} was {@code null}.
    */
   public static SimplePagedResultsControl newControl(final boolean isCritical,
-      final int size, final ByteString cookie) throws NullPointerException
+      final int size, final ByteString cookie)
   {
     Validator.ensureNotNull(cookie);
     return new SimplePagedResultsControl(isCritical, size, cookie);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
index 02d04f8..b993807 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewRequestControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -213,7 +214,6 @@
   public static VirtualListViewRequestControl newAssertionControl(
       final boolean isCritical, final ByteString assertionValue,
       final int beforeCount, final int afterCount, final ByteString contextID)
-      throws IllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(assertionValue);
     Validator.ensureTrue(beforeCount >= 0, "beforeCount is less than 0");
@@ -260,7 +260,6 @@
   public static VirtualListViewRequestControl newOffsetControl(
       final boolean isCritical, final int offset, final int contentCount,
       final int beforeCount, final int afterCount, final ByteString contextID)
-      throws IllegalArgumentException
   {
     Validator.ensureTrue(beforeCount >= 0, "beforeCount is less than 0");
     Validator.ensureTrue(afterCount >= 0, "afterCount is less than 0");
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
index 94417c3..2c7d246 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/controls/VirtualListViewResponseControl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.controls;
 
@@ -161,7 +162,6 @@
   public static VirtualListViewResponseControl newControl(
       final int targetPosition, final int contentCount,
       final ResultCode result, final ByteString contextID)
-      throws IllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(result);
     Validator.ensureTrue(targetPosition >= 0, "targetPosition is less than 0");
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequest.java
index ed0a0fa..15b12d9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -49,8 +50,7 @@
   /**
    * {@inheritDoc}
    */
-  AbandonRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  AbandonRequest addControl(Control control);
 
 
 
@@ -58,7 +58,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -87,6 +87,6 @@
    * @throws UnsupportedOperationException
    *           If this abandon request does not permit the request ID to be set.
    */
-  AbandonRequest setRequestID(int id) throws UnsupportedOperationException;
+  AbandonRequest setRequestID(int id);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequestImpl.java
index ec23df2..fbd555e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbandonRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -81,7 +82,6 @@
    * {@inheritDoc}
    */
   public AbandonRequest setRequestID(final int id)
-      throws UnsupportedOperationException
   {
     this.requestID = id;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractExtendedRequest.java
index 052ab51..b00bd70 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractExtendedRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -71,7 +72,6 @@
    *           If {@code extendedRequest} was {@code null} .
    */
   protected AbstractExtendedRequest(ExtendedRequest<S> extendedRequest)
-      throws NullPointerException
   {
     super(extendedRequest);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractRequestImpl.java
index 43108d9..447c885 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -73,7 +74,7 @@
    * @throws NullPointerException
    *           If {@code request} was {@code null} .
    */
-  AbstractRequestImpl(Request request) throws NullPointerException
+  AbstractRequestImpl(Request request)
   {
     Validator.ensureNotNull(request);
     for (Control control : request.getControls())
@@ -88,7 +89,7 @@
   /**
    * {@inheritDoc}
    */
-  public final R addControl(final Control control) throws NullPointerException
+  public final R addControl(final Control control)
   {
     Validator.ensureNotNull(control);
     controls.add(control);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
index 6d7e26e..7d86444 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AbstractUnmodifiableRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -77,7 +78,6 @@
    */
   @Override
   public final R addControl(final Control control)
-      throws UnsupportedOperationException, NullPointerException
   {
     throw new UnsupportedOperationException();
   }
@@ -90,7 +90,7 @@
   @Override
   public final <C extends Control> C getControl(
       final ControlDecoder<C> decoder, final DecodeOptions options)
-      throws NullPointerException, DecodeException
+      throws DecodeException
   {
     Validator.ensureNotNull(decoder, options);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequest.java
index 2267739..eb5d727 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -32,7 +33,6 @@
 import java.util.Collection;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.controls.Control;
 import org.forgerock.opendj.ldap.controls.ControlDecoder;
@@ -62,8 +62,7 @@
   /**
    * {@inheritDoc}
    */
-  boolean addAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean addAttribute(Attribute attribute);
 
 
 
@@ -71,32 +70,28 @@
    * {@inheritDoc}
    */
   boolean addAttribute(Attribute attribute,
-      Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> duplicateValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest addAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  AddRequest addAttribute(String attributeDescription, Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  AddRequest addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest clearAttributes() throws UnsupportedOperationException;
+  AddRequest clearAttributes();
 
 
 
@@ -104,15 +99,14 @@
    * {@inheritDoc}
    */
   boolean containsAttribute(Attribute attribute,
-      Collection<ByteString> missingValues) throws NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean containsAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  boolean containsAttribute(String attributeDescription, Object... values);
 
 
 
@@ -126,32 +120,28 @@
   /**
    * {@inheritDoc}
    */
-  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Iterable<Attribute> getAllAttributes(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Iterable<Attribute> getAllAttributes(String attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Attribute getAttribute(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Attribute getAttribute(AttributeDescription attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Attribute getAttribute(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Attribute getAttribute(String attributeDescription);
 
 
 
@@ -166,7 +156,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -188,57 +178,48 @@
    * {@inheritDoc}
    */
   boolean removeAttribute(Attribute attribute,
-      Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean removeAttribute(AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean removeAttribute(AttributeDescription attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest removeAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  AddRequest removeAttribute(String attributeDescription, Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean replaceAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean replaceAttribute(Attribute attribute);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest replaceAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  AddRequest replaceAttribute(String attributeDescription, Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  AddRequest setName(DN dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  AddRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  AddRequest setName(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequestImpl.java
index 8ff7e0d..1661f1c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AddRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,6 @@
 
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
@@ -59,7 +59,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null} .
    */
-  AddRequestImpl(final Entry entry) throws NullPointerException
+  AddRequestImpl(final Entry entry)
   {
     this.entry = entry;
   }
@@ -75,7 +75,7 @@
    * @throws NullPointerException
    *           If {@code addRequest} was {@code null} .
    */
-  AddRequestImpl(final AddRequest addRequest) throws NullPointerException
+  AddRequestImpl(final AddRequest addRequest)
   {
     super(addRequest);
     this.entry = LinkedHashMapEntry.deepCopyOfEntry(addRequest);
@@ -97,7 +97,6 @@
    * {@inheritDoc}
    */
   public boolean addAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.addAttribute(attribute);
   }
@@ -109,7 +108,6 @@
    */
   public boolean addAttribute(final Attribute attribute,
       final Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.addAttribute(attribute, duplicateValues);
   }
@@ -120,8 +118,7 @@
    * {@inheritDoc}
    */
   public AddRequest addAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.addAttribute(attributeDescription, values);
     return this;
@@ -132,7 +129,7 @@
   /**
    * {@inheritDoc}
    */
-  public AddRequest clearAttributes() throws UnsupportedOperationException
+  public AddRequest clearAttributes()
   {
     entry.clearAttributes();
     return this;
@@ -144,7 +141,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final Attribute attribute,
-      final Collection<ByteString> missingValues) throws NullPointerException
+      final Collection<ByteString> missingValues)
   {
     return entry.containsAttribute(attribute, missingValues);
   }
@@ -155,8 +152,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final Object... values)
   {
     return entry.containsAttribute(attributeDescription, values);
   }
@@ -178,7 +174,6 @@
    */
   public Iterable<Attribute> getAllAttributes(
       final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     return entry.getAllAttributes(attributeDescription);
   }
@@ -189,7 +184,6 @@
    * {@inheritDoc}
    */
   public Iterable<Attribute> getAllAttributes(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return entry.getAllAttributes(attributeDescription);
   }
@@ -200,7 +194,6 @@
    * {@inheritDoc}
    */
   public Attribute getAttribute(final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     return entry.getAttribute(attributeDescription);
   }
@@ -211,7 +204,6 @@
    * {@inheritDoc}
    */
   public Attribute getAttribute(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return entry.getAttribute(attributeDescription);
   }
@@ -243,7 +235,6 @@
    */
   public boolean removeAttribute(final Attribute attribute,
       final Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.removeAttribute(attribute, missingValues);
   }
@@ -254,7 +245,6 @@
    * {@inheritDoc}
    */
   public boolean removeAttribute(final AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.removeAttribute(attributeDescription);
   }
@@ -265,8 +255,7 @@
    * {@inheritDoc}
    */
   public AddRequest removeAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.removeAttribute(attributeDescription, values);
     return this;
@@ -278,7 +267,6 @@
    * {@inheritDoc}
    */
   public boolean replaceAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.replaceAttribute(attribute);
   }
@@ -289,8 +277,7 @@
    * {@inheritDoc}
    */
   public AddRequest replaceAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.replaceAttribute(attributeDescription, values);
     return this;
@@ -301,8 +288,7 @@
   /**
    * {@inheritDoc}
    */
-  public AddRequest setName(final DN dn) throws UnsupportedOperationException,
-      NullPointerException
+  public AddRequest setName(final DN dn)
   {
     entry.setName(dn);
     return this;
@@ -314,8 +300,6 @@
    * {@inheritDoc}
    */
   public AddRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     entry.setName(dn);
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequest.java
index 264e8a3..e657089 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -71,8 +72,7 @@
   /**
    * {@inheritDoc}
    */
-  AnonymousSASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  AnonymousSASLBindRequest addControl(Control control);
 
 
 
@@ -97,7 +97,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -150,6 +150,5 @@
    * @throws NullPointerException
    *           If {@code traceString} was {@code null}.
    */
-  AnonymousSASLBindRequest setTraceString(String traceString)
-      throws UnsupportedOperationException, NullPointerException;
+  AnonymousSASLBindRequest setTraceString(String traceString);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequestImpl.java
index 08c9529..853aabc 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/AnonymousSASLBindRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -119,7 +120,6 @@
    * {@inheritDoc}
    */
   public AnonymousSASLBindRequest setTraceString(final String traceString)
-      throws NullPointerException
   {
     Validator.ensureNotNull(traceString);
     this.traceString = traceString;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/BindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/BindRequest.java
index eb5c913..ed875f3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/BindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/BindRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -49,8 +50,7 @@
   /**
    * {@inheritDoc}
    */
-  BindRequest addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  BindRequest addControl(Control control);
 
 
 
@@ -86,7 +86,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequest.java
index dbf600d..995e983 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -32,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
 import org.forgerock.opendj.ldap.ErrorResultException;
@@ -73,8 +73,7 @@
   /**
    * {@inheritDoc}
    */
-  CRAMMD5SASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  CRAMMD5SASLBindRequest addControl(Control control);
 
 
 
@@ -110,7 +109,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -168,9 +167,7 @@
    * @throws NullPointerException
    *           If {@code authenticationID} was {@code null}.
    */
-  CRAMMD5SASLBindRequest setAuthenticationID(String authenticationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException,
-      NullPointerException;
+  CRAMMD5SASLBindRequest setAuthenticationID(String authenticationID);
 
 
 
@@ -190,8 +187,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  CRAMMD5SASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  CRAMMD5SASLBindRequest setPassword(byte[] password);
 
 
 
@@ -207,7 +203,6 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  CRAMMD5SASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  CRAMMD5SASLBindRequest setPassword(char[] password);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequestImpl.java
index 6a070e8..0d10530 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CRAMMD5SASLBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -186,7 +186,6 @@
    */
   CRAMMD5SASLBindRequestImpl(
       final CRAMMD5SASLBindRequest cramMD5SASLBindRequest)
-      throws NullPointerException
   {
     super(cramMD5SASLBindRequest);
     this.authenticationID = cramMD5SASLBindRequest.getAuthenticationID();
@@ -240,7 +239,7 @@
    * {@inheritDoc}
    */
   public CRAMMD5SASLBindRequest setAuthenticationID(
-      final String authenticationID) throws NullPointerException
+      final String authenticationID)
   {
     Validator.ensureNotNull(authenticationID);
     this.authenticationID = authenticationID;
@@ -253,7 +252,6 @@
    * {@inheritDoc}
    */
   public CRAMMD5SASLBindRequest setPassword(final byte[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = password;
@@ -266,7 +264,6 @@
    * {@inheritDoc}
    */
   public CRAMMD5SASLBindRequest setPassword(final char[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = StaticUtils.getBytes(password);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequest.java
index 79da0f9..52b7f2e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -72,8 +73,7 @@
   /**
    * {@inheritDoc}
    */
-  CancelExtendedRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  CancelExtendedRequest addControl(Control control);
 
 
 
@@ -81,7 +81,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -138,6 +138,5 @@
    * @throws UnsupportedOperationException
    *           If this abandon request does not permit the request ID to be set.
    */
-  CancelExtendedRequest setRequestID(int id)
-      throws UnsupportedOperationException;
+  CancelExtendedRequest setRequestID(int id);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequestImpl.java
index 4ca6fbb..60c3ce3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CancelExtendedRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -143,7 +144,6 @@
    *           If {@code cancelExtendedRequest} was {@code null} .
    */
   CancelExtendedRequestImpl(final CancelExtendedRequest cancelExtendedRequest)
-      throws NullPointerException
   {
     super(cancelExtendedRequest);
     this.requestID = cancelExtendedRequest.getRequestID();
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequest.java
index f9c9e81..003b6b1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.controls.Control;
 import org.forgerock.opendj.ldap.controls.ControlDecoder;
@@ -51,8 +52,7 @@
   /**
    * {@inheritDoc}
    */
-  CompareRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareRequest addControl(Control control);
 
 
 
@@ -87,7 +87,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -120,8 +120,7 @@
    * @throws NullPointerException
    *           If {@code value} was {@code null}.
    */
-  CompareRequest setAssertionValue(ByteString value)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareRequest setAssertionValue(ByteString value);
 
 
 
@@ -140,8 +139,7 @@
    * @throws NullPointerException
    *           If {@code value} was {@code null}.
    */
-  CompareRequest setAssertionValue(Object value)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareRequest setAssertionValue(Object value);
 
 
 
@@ -158,8 +156,7 @@
    *           If {@code attributeDescription} was {@code null}.
    */
   CompareRequest setAttributeDescription(
-      AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException;
+      AttributeDescription attributeDescription);
 
 
 
@@ -178,9 +175,7 @@
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
-  CompareRequest setAttributeDescription(String attributeDescription)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  CompareRequest setAttributeDescription(String attributeDescription);
 
 
 
@@ -197,8 +192,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  CompareRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  CompareRequest setName(DN dn);
 
 
 
@@ -217,7 +211,6 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  CompareRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  CompareRequest setName(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequestImpl.java
index 57f3eeb..6246adb 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/CompareRequestImpl.java
@@ -23,13 +23,13 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.AttributeDescription;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DN;
@@ -69,7 +69,7 @@
    */
   CompareRequestImpl(final DN name,
       final AttributeDescription attributeDescription,
-      final ByteString assertionValue) throws NullPointerException
+      final ByteString assertionValue)
   {
     this.name = name;
     this.attributeDescription = attributeDescription;
@@ -88,7 +88,6 @@
    *           If {@code compareRequest} was {@code null} .
    */
   CompareRequestImpl(final CompareRequest compareRequest)
-      throws NullPointerException
   {
     super(compareRequest);
     this.name = compareRequest.getName();
@@ -142,7 +141,6 @@
    * {@inheritDoc}
    */
   public CompareRequest setAssertionValue(final ByteString value)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(value);
     this.assertionValue = value;
@@ -155,7 +153,6 @@
    * {@inheritDoc}
    */
   public CompareRequest setAssertionValue(final Object value)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(value);
     this.assertionValue = ByteString.valueOf(value);
@@ -169,7 +166,6 @@
    */
   public CompareRequest setAttributeDescription(
       final AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
     this.attributeDescription = attributeDescription;
@@ -183,8 +179,6 @@
    */
   public CompareRequest setAttributeDescription(
       final String attributeDescription)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(attributeDescription);
     this.attributeDescription = AttributeDescription
@@ -198,7 +192,6 @@
    * {@inheritDoc}
    */
   public CompareRequest setName(final DN dn)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = dn;
@@ -211,8 +204,6 @@
    * {@inheritDoc}
    */
   public CompareRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = DN.valueOf(dn);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequest.java
index ab72d8a..81f166d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
@@ -62,8 +63,7 @@
   /**
    * {@inheritDoc}
    */
-  DeleteRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  DeleteRequest addControl(Control control);
 
 
 
@@ -71,7 +71,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -105,8 +105,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  DeleteRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  DeleteRequest setName(DN dn);
 
 
 
@@ -125,7 +124,6 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  DeleteRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  DeleteRequest setName(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequestImpl.java
index 335e2d9..5d7279e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DeleteRequestImpl.java
@@ -23,13 +23,13 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
@@ -55,7 +55,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  DeleteRequestImpl(final DN name) throws NullPointerException
+  DeleteRequestImpl(final DN name)
   {
     this.name = name;
   }
@@ -72,7 +72,6 @@
    *           If {@code addRequest} was {@code null} .
    */
   DeleteRequestImpl(final DeleteRequest deleteRequest)
-      throws NullPointerException
   {
     super(deleteRequest);
     this.name = deleteRequest.getName();
@@ -104,7 +103,6 @@
    * {@inheritDoc}
    */
   public DeleteRequest setName(final DN dn)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = dn;
@@ -117,8 +115,6 @@
    * {@inheritDoc}
    */
   public DeleteRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = DN.valueOf(dn);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequest.java
index 9bb5305..10e37db 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -33,7 +33,7 @@
 import java.util.List;
 import java.util.Map;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
 import org.forgerock.opendj.ldap.ErrorResultException;
@@ -160,8 +160,7 @@
    * @throws NullPointerException
    *           If {@code name} or {@code value} was {@code null}.
    */
-  DigestMD5SASLBindRequest addAdditionalAuthParam(String name, String value)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest addAdditionalAuthParam(String name, String value);
 
 
 
@@ -169,8 +168,7 @@
    * {@inheritDoc}
    */
   @Override
-  DigestMD5SASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest addControl(Control control);
 
 
 
@@ -194,8 +192,7 @@
    * @see #QOP_AUTH_INT
    * @see #QOP_AUTH_CONF
    */
-  DigestMD5SASLBindRequest addQOP(String... qopValues)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest addQOP(String... qopValues);
 
 
 
@@ -276,7 +273,7 @@
    */
   @Override
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -395,9 +392,7 @@
    * @throws NullPointerException
    *           If {@code authenticationID} was {@code null}.
    */
-  DigestMD5SASLBindRequest setAuthenticationID(String authenticationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  DigestMD5SASLBindRequest setAuthenticationID(String authenticationID);
 
 
 
@@ -418,8 +413,7 @@
    *           If this bind request does not permit the authorization ID to be
    *           set.
    */
-  DigestMD5SASLBindRequest setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException;
+  DigestMD5SASLBindRequest setAuthorizationID(String authorizationID);
 
 
 
@@ -450,8 +444,7 @@
    * @see #CIPHER_MEDIUM
    * @see #CIPHER_LOW
    */
-  DigestMD5SASLBindRequest setCipher(String cipher)
-      throws UnsupportedOperationException;
+  DigestMD5SASLBindRequest setCipher(String cipher);
 
 
 
@@ -466,8 +459,7 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit the buffer size to be set.
    */
-  DigestMD5SASLBindRequest setMaxReceiveBufferSize(int size)
-      throws UnsupportedOperationException;
+  DigestMD5SASLBindRequest setMaxReceiveBufferSize(int size);
 
 
 
@@ -482,8 +474,7 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit the buffer size to be set.
    */
-  DigestMD5SASLBindRequest setMaxSendBufferSize(int size)
-      throws UnsupportedOperationException;
+  DigestMD5SASLBindRequest setMaxSendBufferSize(int size);
 
 
 
@@ -503,8 +494,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  DigestMD5SASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest setPassword(byte[] password);
 
 
 
@@ -520,8 +510,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  DigestMD5SASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest setPassword(char[] password);
 
 
 
@@ -537,8 +526,7 @@
    * @throws NullPointerException
    *           If {@code realm} was {@code null}.
    */
-  DigestMD5SASLBindRequest setRealm(String realm)
-      throws UnsupportedOperationException, NullPointerException;
+  DigestMD5SASLBindRequest setRealm(String realm);
 
 
 
@@ -553,6 +541,5 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit server auth to be set.
    */
-  DigestMD5SASLBindRequest setServerAuth(boolean serverAuth)
-      throws UnsupportedOperationException;
+  DigestMD5SASLBindRequest setServerAuth(boolean serverAuth);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequestImpl.java
index 7a4b21b..bf66b09 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/DigestMD5SASLBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -333,7 +333,6 @@
    */
   DigestMD5SASLBindRequestImpl(
       final DigestMD5SASLBindRequest digestMD5SASLBindRequest)
-      throws NullPointerException
   {
     super(digestMD5SASLBindRequest);
     this.additionalAuthParams.putAll(
@@ -359,8 +358,7 @@
    */
   @Override
   public DigestMD5SASLBindRequest addAdditionalAuthParam(final String name,
-      final String value) throws UnsupportedOperationException,
-      NullPointerException
+      final String value)
   {
     Validator.ensureNotNull(name, value);
     additionalAuthParams.put(name, value);
@@ -374,7 +372,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest addQOP(final String... qopValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     for (final String qopValue : qopValues)
     {
@@ -523,7 +520,7 @@
    */
   @Override
   public DigestMD5SASLBindRequest setAuthenticationID(
-      final String authenticationID) throws NullPointerException
+      final String authenticationID)
   {
     Validator.ensureNotNull(authenticationID);
     this.authenticationID = authenticationID;
@@ -550,7 +547,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setCipher(final String cipher)
-      throws UnsupportedOperationException
   {
     this.cipher = cipher;
     return this;
@@ -563,7 +559,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setMaxReceiveBufferSize(final int size)
-      throws UnsupportedOperationException
   {
     maxReceiveBufferSize = size;
     return this;
@@ -576,7 +571,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setMaxSendBufferSize(final int size)
-      throws UnsupportedOperationException
   {
     maxSendBufferSize = size;
     return this;
@@ -589,7 +583,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setPassword(final byte[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = password;
@@ -603,7 +596,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setPassword(final char[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = StaticUtils.getBytes(password);
@@ -629,7 +621,6 @@
    */
   @Override
   public DigestMD5SASLBindRequest setServerAuth(final boolean serverAuth)
-      throws UnsupportedOperationException
   {
     this.serverAuth = serverAuth;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExtendedRequest.java
index 4e716d9..4753da2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExtendedRequest.java
@@ -55,8 +55,7 @@
   /**
    * {@inheritDoc}
    */
-  ExtendedRequest<S> addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  ExtendedRequest<S> addControl(Control control);
 
 
 
@@ -64,7 +63,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequest.java
index d30471b..3756e7d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
 import org.forgerock.opendj.ldap.ErrorResultException;
@@ -71,8 +72,7 @@
   /**
    * {@inheritDoc}
    */
-  ExternalSASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  ExternalSASLBindRequest addControl(Control control);
 
 
 
@@ -111,7 +111,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -157,7 +157,5 @@
    *           If {@code authorizationID} was non-empty and did not contain a
    *           valid authorization ID type.
    */
-  ExternalSASLBindRequest setAuthorizationID(String authorizationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException;
-
+  ExternalSASLBindRequest setAuthorizationID(String authorizationID);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequestImpl.java
index 4b55b1a..e144f09 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ExternalSASLBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -152,7 +152,6 @@
    */
   ExternalSASLBindRequestImpl(
       final ExternalSASLBindRequest externalSASLBindRequest)
-      throws NullPointerException
   {
     super(externalSASLBindRequest);
     this.authorizationID = externalSASLBindRequest.getAuthorizationID();
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequest.java
index 9a1df37..d13a210 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -35,7 +35,7 @@
 
 import javax.security.auth.Subject;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
 import org.forgerock.opendj.ldap.ErrorResultException;
@@ -108,8 +108,7 @@
    * @throws NullPointerException
    *           If {@code name} or {@code value} was {@code null}.
    */
-  GSSAPISASLBindRequest addAdditionalAuthParam(String name, String value)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest addAdditionalAuthParam(String name, String value);
 
 
 
@@ -129,8 +128,7 @@
    * {@inheritDoc}
    */
   @Override
-  GSSAPISASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest addControl(Control control);
 
 
 
@@ -154,8 +152,7 @@
    * @see #QOP_AUTH_INT
    * @see #QOP_AUTH_CONF
    */
-  GSSAPISASLBindRequest addQOP(String... qopValues)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest addQOP(String... qopValues);
 
 
 
@@ -210,7 +207,7 @@
    */
   @Override
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -357,8 +354,7 @@
    * @throws NullPointerException
    *           If {@code authenticationID} was {@code null}.
    */
-  GSSAPISASLBindRequest setAuthenticationID(String authenticationID)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  GSSAPISASLBindRequest setAuthenticationID(String authenticationID);
 
 
 
@@ -376,8 +372,7 @@
    *           If {@code authorizationID} was non-empty and did not contain a
    *           valid authorization ID type.
    */
-  GSSAPISASLBindRequest setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException;
+  GSSAPISASLBindRequest setAuthorizationID(String authorizationID);
 
 
 
@@ -395,8 +390,7 @@
    * @throws NullPointerException
    *           If {@code address} was {@code null}.
    */
-  GSSAPISASLBindRequest setKDCAddress(String address)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest setKDCAddress(String address);
 
 
 
@@ -411,8 +405,7 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit the buffer size to be set.
    */
-  GSSAPISASLBindRequest setMaxReceiveBufferSize(int size)
-      throws UnsupportedOperationException;
+  GSSAPISASLBindRequest setMaxReceiveBufferSize(int size);
 
 
 
@@ -427,8 +420,7 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit the buffer size to be set.
    */
-  GSSAPISASLBindRequest setMaxSendBufferSize(int size)
-      throws UnsupportedOperationException;
+  GSSAPISASLBindRequest setMaxSendBufferSize(int size);
 
 
 
@@ -450,8 +442,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  GSSAPISASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest setPassword(byte[] password);
 
 
 
@@ -469,8 +460,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  GSSAPISASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest setPassword(char[] password);
 
 
 
@@ -488,8 +478,7 @@
    * @throws NullPointerException
    *           If {@code realm} was {@code null}.
    */
-  GSSAPISASLBindRequest setRealm(String realm)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest setRealm(String realm);
 
 
 
@@ -504,8 +493,7 @@
    * @throws UnsupportedOperationException
    *           If this bind request does not permit server auth to be set.
    */
-  GSSAPISASLBindRequest setServerAuth(boolean serverAuth)
-      throws UnsupportedOperationException;
+  GSSAPISASLBindRequest setServerAuth(boolean serverAuth);
 
 
 
@@ -524,6 +512,5 @@
    * @throws NullPointerException
    *           If {@code subject} was {@code null}.
    */
-  GSSAPISASLBindRequest setSubject(Subject subject)
-      throws UnsupportedOperationException, NullPointerException;
+  GSSAPISASLBindRequest setSubject(Subject subject);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestImpl.java
index 27712af..6a9161b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GSSAPISASLBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -418,7 +418,6 @@
    */
   GSSAPISASLBindRequestImpl(
       final GSSAPISASLBindRequest gssapiSASLBindRequest)
-      throws NullPointerException
   {
     super(gssapiSASLBindRequest);
     this.subject = gssapiSASLBindRequest.getSubject();
@@ -455,8 +454,7 @@
    */
   @Override
   public GSSAPISASLBindRequest addAdditionalAuthParam(final String name,
-      final String value) throws UnsupportedOperationException,
-      NullPointerException
+      final String value)
   {
     Validator.ensureNotNull(name, value);
     additionalAuthParams.put(name, value);
@@ -470,7 +468,6 @@
    */
   @Override
   public GSSAPISASLBindRequest addQOP(final String... qopValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     for (final String qopValue : qopValues)
     {
@@ -630,7 +627,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setAuthenticationID(final String authenticationID)
-      throws NullPointerException
   {
     Validator.ensureNotNull(authenticationID);
     this.authenticationID = authenticationID;
@@ -668,7 +664,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setMaxReceiveBufferSize(final int size)
-      throws UnsupportedOperationException
   {
     maxReceiveBufferSize = size;
     return this;
@@ -681,7 +676,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setMaxSendBufferSize(final int size)
-      throws UnsupportedOperationException
   {
     maxSendBufferSize = size;
     return this;
@@ -694,7 +688,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setPassword(final byte[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = password;
@@ -708,7 +701,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setPassword(final char[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = StaticUtils.getBytes(password);
@@ -734,7 +726,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setServerAuth(final boolean serverAuth)
-      throws UnsupportedOperationException
   {
     this.serverAuth = serverAuth;
     return this;
@@ -747,7 +738,6 @@
    */
   @Override
   public GSSAPISASLBindRequest setSubject(final Subject subject)
-      throws NullPointerException
   {
     this.subject = subject;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequest.java
index 997fae7..c8859ed 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -49,8 +49,7 @@
   /**
    * {@inheritDoc}
    */
-  GenericBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericBindRequest addControl(Control control);
 
 
 
@@ -86,7 +85,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -118,8 +117,7 @@
    *           If this generic bind request does not permit the authentication
    *           type to be set.
    */
-  GenericBindRequest setAuthenticationType(byte type)
-      throws UnsupportedOperationException;
+  GenericBindRequest setAuthenticationType(byte type);
 
 
 
@@ -141,9 +139,7 @@
    * @throws NullPointerException
    *           If {@code bytes} was {@code null}.
    */
-  GenericBindRequest setAuthenticationValue(byte[] bytes)
-      throws UnsupportedOperationException, NullPointerException;
-
+  GenericBindRequest setAuthenticationValue(byte[] bytes);
 
 
   /**
@@ -166,7 +162,6 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  GenericBindRequest setName(String name) throws UnsupportedOperationException,
-      NullPointerException;
+  GenericBindRequest setName(String name);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequestImpl.java
index 6eb51ef..4490154 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -97,7 +97,6 @@
    */
   GenericBindRequestImpl(
       final GenericBindRequest genericBindRequest)
-      throws NullPointerException
   {
     super(genericBindRequest);
     this.name = genericBindRequest.getName();
@@ -161,7 +160,6 @@
    * {@inheritDoc}
    */
   public GenericBindRequest setAuthenticationType(final byte type)
-      throws UnsupportedOperationException
   {
     this.authenticationType = type;
     return this;
@@ -173,7 +171,6 @@
    * {@inheritDoc}
    */
   public GenericBindRequest setAuthenticationValue(final byte[] bytes)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(bytes);
     this.authenticationValue = bytes;
@@ -186,7 +183,6 @@
    * {@inheritDoc}
    */
   public GenericBindRequest setName(final String name)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(name);
     this.name = name;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequest.java
index 5ffd260..6d61cfe 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -64,8 +65,7 @@
   /**
    * {@inheritDoc}
    */
-  GenericExtendedRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericExtendedRequest addControl(Control control);
 
 
 
@@ -73,7 +73,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -124,9 +124,7 @@
    * @throws NullPointerException
    *           If {@code oid} was {@code null}.
    */
-  GenericExtendedRequest setOID(String oid)
-      throws UnsupportedOperationException, NullPointerException;
-
+  GenericExtendedRequest setOID(String oid);
 
 
   /**
@@ -141,7 +139,5 @@
    *           If this generic extended request does not permit the request
    *           value to be set.
    */
-  GenericExtendedRequest setValue(ByteString bytes)
-      throws UnsupportedOperationException;
-
+  GenericExtendedRequest setValue(ByteString bytes);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequestImpl.java
index 98b87d8..88da759 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/GenericExtendedRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -140,7 +141,7 @@
    *           If {@code requestName} was {@code null}.
    */
   GenericExtendedRequestImpl(final String requestName,
-      final ByteString requestValue) throws NullPointerException
+      final ByteString requestValue)
   {
     this.requestName = requestName;
     this.requestValue = requestValue;
@@ -159,7 +160,6 @@
    */
   protected GenericExtendedRequestImpl(
       GenericExtendedRequest genericExtendedRequest)
-      throws NullPointerException
   {
     super(genericExtendedRequest);
     this.requestName = genericExtendedRequest.getOID();
@@ -216,7 +216,6 @@
    * {@inheritDoc}
    */
   public GenericExtendedRequest setOID(final String oid)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(oid);
     this.requestName = oid;
@@ -229,7 +228,6 @@
    * {@inheritDoc}
    */
   public GenericExtendedRequest setValue(final ByteString bytes)
-      throws UnsupportedOperationException
   {
     this.requestValue = bytes;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequest.java
index d64aac9..60d3d4c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
@@ -60,8 +61,7 @@
   /**
    * {@inheritDoc}
    */
-  ModifyDNRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  ModifyDNRequest addControl(Control control);
 
 
 
@@ -69,7 +69,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -139,8 +139,7 @@
    *           If this modify DN request does not permit the delete old RDN
    *           parameter to be set.
    */
-  ModifyDNRequest setDeleteOldRDN(boolean deleteOldRDN)
-      throws UnsupportedOperationException;
+  ModifyDNRequest setDeleteOldRDN(boolean deleteOldRDN);
 
 
 
@@ -158,8 +157,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  ModifyDNRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  ModifyDNRequest setName(DN dn);
 
 
 
@@ -179,8 +177,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  ModifyDNRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  ModifyDNRequest setName(String dn);
 
 
 
@@ -199,8 +196,7 @@
    * @throws NullPointerException
    *           If {@code rdn} was {@code null}.
    */
-  ModifyDNRequest setNewRDN(RDN rdn) throws UnsupportedOperationException,
-      NullPointerException;
+  ModifyDNRequest setNewRDN(RDN rdn);
 
 
 
@@ -221,9 +217,7 @@
    * @throws NullPointerException
    *           If {@code rdn} was {@code null}.
    */
-  ModifyDNRequest setNewRDN(String rdn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  ModifyDNRequest setNewRDN(String rdn);
 
 
 
@@ -241,7 +235,7 @@
    *           If this modify DN request does not permit the new superior to be
    *           set.
    */
-  ModifyDNRequest setNewSuperior(DN dn) throws UnsupportedOperationException;
+  ModifyDNRequest setNewSuperior(DN dn);
 
 
 
@@ -261,7 +255,6 @@
    *           If this modify DN request does not permit the new superior to be
    *           set.
    */
-  ModifyDNRequest setNewSuperior(String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException;
+  ModifyDNRequest setNewSuperior(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequestImpl.java
index def8904..2486d54 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyDNRequestImpl.java
@@ -23,13 +23,13 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.RDN;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
@@ -66,7 +66,6 @@
    *           If {@code name} or {@code newRDN} was {@code null}.
    */
   ModifyDNRequestImpl(final DN name, final RDN newRDN)
-      throws NullPointerException
   {
     this.name = name;
     this.newRDN = newRDN;
@@ -84,7 +83,6 @@
    *           If {@code modifyDNRequest} was {@code null} .
    */
   ModifyDNRequestImpl(final ModifyDNRequest modifyDNRequest)
-      throws NullPointerException
   {
     super(modifyDNRequest);
     this.name = modifyDNRequest.getName();
@@ -149,7 +147,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequestImpl setDeleteOldRDN(final boolean deleteOldRDN)
-      throws UnsupportedOperationException
   {
     this.deleteOldRDN = deleteOldRDN;
     return this;
@@ -161,7 +158,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setName(final DN dn)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = dn;
@@ -174,8 +170,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = DN.valueOf(dn);
@@ -188,7 +182,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setNewRDN(final RDN rdn)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(rdn);
     this.newRDN = rdn;
@@ -201,8 +194,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setNewRDN(final String rdn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(rdn);
     this.newRDN = RDN.valueOf(rdn);
@@ -215,7 +206,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setNewSuperior(final DN dn)
-      throws UnsupportedOperationException
   {
     this.newSuperior = dn;
     return this;
@@ -227,7 +217,6 @@
    * {@inheritDoc}
    */
   public ModifyDNRequest setNewSuperior(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException
   {
     this.newSuperior = (dn != null) ? DN.valueOf(dn) : null;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequest.java
index d9ff1b0..29f178f 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.controls.Control;
 import org.forgerock.opendj.ldap.controls.ControlDecoder;
@@ -56,8 +57,7 @@
   /**
    * {@inheritDoc}
    */
-  ModifyRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  ModifyRequest addControl(Control control);
 
 
 
@@ -73,8 +73,7 @@
    * @throws NullPointerException
    *           If {@code modification} was {@code null}.
    */
-  ModifyRequest addModification(Modification modification)
-      throws UnsupportedOperationException, NullPointerException;
+  ModifyRequest addModification(Modification modification);
 
 
 
@@ -102,9 +101,7 @@
    *           was {@code null}.
    */
   ModifyRequest addModification(ModificationType type,
-      String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+      String attributeDescription, Object... values);
 
 
 
@@ -112,7 +109,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -159,8 +156,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  ModifyRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  ModifyRequest setName(DN dn);
 
 
 
@@ -180,7 +176,6 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  ModifyRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  ModifyRequest setName(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequestImpl.java
index 4880e4d..49b4553 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/ModifyRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -32,7 +33,6 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
@@ -60,7 +60,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  ModifyRequestImpl(final DN name) throws NullPointerException
+  ModifyRequestImpl(final DN name)
   {
     this.name = name;
   }
@@ -77,7 +77,6 @@
    *           If {@code modifyRequest} was {@code null} .
    */
   ModifyRequestImpl(final ModifyRequest modifyRequest)
-      throws NullPointerException
   {
     super(modifyRequest);
     this.name = modifyRequest.getName();
@@ -107,8 +106,6 @@
   public ModifyRequest addChange(final ModificationType type,
       final String attributeDescription, final Object firstValue,
       final Object... remainingValues)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     // TODO Auto-generated method stub
     return null;
@@ -120,7 +117,6 @@
    * {@inheritDoc}
    */
   public ModifyRequest addModification(final Modification change)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(change);
     changes.add(change);
@@ -134,8 +130,6 @@
    */
   public ModifyRequest addModification(final ModificationType type,
       final String attributeDescription, final Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(type, attributeDescription, values);
     changes.add(new Modification(type, new LinkedAttribute(
@@ -169,7 +163,6 @@
    * {@inheritDoc}
    */
   public ModifyRequest setName(final DN dn)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = dn;
@@ -182,8 +175,6 @@
    * {@inheritDoc}
    */
   public ModifyRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     Validator.ensureNotNull(dn);
     this.name = DN.valueOf(dn);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequest.java
index 6450606..3d7af45 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -75,8 +76,7 @@
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  PasswordModifyExtendedRequest addControl(Control control);
 
 
 
@@ -84,7 +84,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -183,8 +183,7 @@
    *           If this password modify extended request does not permit the new
    *           password to be set.
    */
-  PasswordModifyExtendedRequest setNewPassword(ByteString newPassword)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setNewPassword(ByteString newPassword);
 
 
 
@@ -200,8 +199,7 @@
    *           If this password modify extended request does not permit the new
    *           password to be set.
    */
-  PasswordModifyExtendedRequest setNewPassword(char[] newPassword)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setNewPassword(char[] newPassword);
 
 
 
@@ -216,8 +214,7 @@
    *           If this password modify extended request does not permit the old
    *           password to be set.
    */
-  PasswordModifyExtendedRequest setOldPassword(ByteString oldPassword)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setOldPassword(ByteString oldPassword);
 
 
 
@@ -233,8 +230,7 @@
    *           If this password modify extended request does not permit the old
    *           password to be set.
    */
-  PasswordModifyExtendedRequest setOldPassword(char[] oldPassword)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setOldPassword(char[] oldPassword);
 
 
 
@@ -251,8 +247,7 @@
    *           If this password modify extended request does not permit the user
    *           identity to be set.
    */
-  PasswordModifyExtendedRequest setUserIdentity(ByteString userIdentity)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setUserIdentity(ByteString userIdentity);
 
 
 
@@ -270,7 +265,6 @@
    *           If this password modify extended request does not permit the user
    *           identity to be set.
    */
-  PasswordModifyExtendedRequest setUserIdentity(String userIdentity)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedRequest setUserIdentity(String userIdentity);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequestImpl.java
index 91c5488..7d7aef3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PasswordModifyExtendedRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -221,7 +222,6 @@
    */
   PasswordModifyExtendedRequestImpl(
       final PasswordModifyExtendedRequest passwordModifyExtendedRequest)
-      throws NullPointerException
   {
     super(passwordModifyExtendedRequest);
     this.userIdentity = passwordModifyExtendedRequest.getUserIdentity();
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequest.java
index c212e90..acd9f1c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -32,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
 import org.forgerock.opendj.ldap.ErrorResultException;
@@ -67,8 +67,7 @@
   /**
    * {@inheritDoc}
    */
-  PlainSASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  PlainSASLBindRequest addControl(Control control);
 
 
 
@@ -117,7 +116,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -175,9 +174,7 @@
    * @throws NullPointerException
    *           If {@code authenticationID} was {@code null}.
    */
-  PlainSASLBindRequest setAuthenticationID(String authenticationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException,
-      NullPointerException;
+  PlainSASLBindRequest setAuthenticationID(String authenticationID);
 
 
 
@@ -198,8 +195,7 @@
    *           If {@code authorizationID} was non-empty and did not contain a
    *           valid authorization ID type.
    */
-  PlainSASLBindRequest setAuthorizationID(String authorizationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException;
+  PlainSASLBindRequest setAuthorizationID(String authorizationID);
 
 
 
@@ -219,8 +215,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  PlainSASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  PlainSASLBindRequest setPassword(byte[] password);
 
 
 
@@ -236,6 +231,5 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  PlainSASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  PlainSASLBindRequest setPassword(char[] password);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequestImpl.java
index 8ef08ef..433d37e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/PlainSASLBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -166,7 +166,6 @@
    */
   PlainSASLBindRequestImpl(
       final PlainSASLBindRequest plainSASLBindRequest)
-      throws NullPointerException
   {
     super(plainSASLBindRequest);
     this.authenticationID = plainSASLBindRequest.getAuthenticationID();
@@ -245,7 +244,6 @@
    * {@inheritDoc}
    */
   public PlainSASLBindRequest setPassword(final char[] password)
-      throws NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = StaticUtils.getBytes(password);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Request.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Request.java
index 56ddb77..048f6ee 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Request.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Request.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -56,8 +57,7 @@
    * @throws NullPointerException
    *           If {@code control} was {@code null}.
    */
-  Request addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  Request addControl(Control control);
 
 
 
@@ -82,7 +82,7 @@
    *           If {@code decoder} or {@code options} was {@code null}.
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws DecodeException, NullPointerException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Requests.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Requests.java
index e2d3687..b9cdf9e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Requests.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/Requests.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -93,7 +93,6 @@
    *           If {@code name} was {@code null}.
    */
   public static AddRequest newAddRequest(final DN name)
-      throws NullPointerException
   {
     final Entry entry = new LinkedHashMapEntry().setName(name);
     return new AddRequestImpl(entry);
@@ -114,7 +113,6 @@
    *           If {@code entry} was {@code null} .
    */
   public static AddRequest newAddRequest(final Entry entry)
-      throws NullPointerException
   {
     Validator.ensureNotNull(entry);
     return new AddRequestImpl(entry);
@@ -135,7 +133,6 @@
    *           If {@code name} was {@code null}.
    */
   public static AddRequest newAddRequest(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     final Entry entry = new LinkedHashMapEntry().setName(name);
     return new AddRequestImpl(entry);
@@ -158,7 +155,6 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public static AddRequest newAddRequest(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // LDIF change record reader is tolerant to missing change types.
     final ChangeRecord record = LDIFChangeRecordReader
@@ -190,7 +186,7 @@
    *           If {@code traceString} was {@code null}.
    */
   public static AnonymousSASLBindRequest newAnonymousSASLBindRequest(
-      final String traceString) throws NullPointerException
+      final String traceString)
   {
     return new AnonymousSASLBindRequestImpl(traceString);
   }
@@ -227,7 +223,6 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public static ChangeRecord newChangeRecord(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // LDIF change record reader is tolerant to missing change types.
     return LDIFChangeRecordReader.valueOfLDIFChangeRecord(ldifLines);
@@ -252,7 +247,7 @@
    */
   public static CompareRequest newCompareRequest(final DN name,
       final AttributeDescription attributeDescription,
-      final ByteString assertionValue) throws NullPointerException
+      final ByteString assertionValue)
   {
     Validator.ensureNotNull(name, attributeDescription, assertionValue);
     return new CompareRequestImpl(name, attributeDescription, assertionValue);
@@ -283,7 +278,6 @@
    */
   public static CompareRequest newCompareRequest(final String name,
       final String attributeDescription, final Object assertionValue)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(name, attributeDescription, assertionValue);
     return new CompareRequestImpl(DN.valueOf(name),
@@ -310,7 +304,6 @@
    */
   public static CRAMMD5SASLBindRequest newCRAMMD5SASLBindRequest(
       final String authenticationID, final byte[] password)
-      throws NullPointerException
   {
     return new CRAMMD5SASLBindRequestImpl(authenticationID, password);
   }
@@ -335,7 +328,6 @@
    */
   public static CRAMMD5SASLBindRequest newCRAMMD5SASLBindRequest(
       final String authenticationID, final char[] password)
-      throws NullPointerException
   {
     return new CRAMMD5SASLBindRequestImpl(authenticationID, getBytes(password));
   }
@@ -352,7 +344,6 @@
    *           If {@code name} was {@code null}.
    */
   public static DeleteRequest newDeleteRequest(final DN name)
-      throws NullPointerException
   {
     Validator.ensureNotNull(name);
     return new DeleteRequestImpl(name);
@@ -373,7 +364,6 @@
    *           If {@code name} was {@code null}.
    */
   public static DeleteRequest newDeleteRequest(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(name);
     return new DeleteRequestImpl(DN.valueOf(name));
@@ -398,7 +388,6 @@
    */
   public static DigestMD5SASLBindRequest newDigestMD5SASLBindRequest(
       final String authenticationID, final byte[] password)
-      throws NullPointerException
   {
     return new DigestMD5SASLBindRequestImpl(authenticationID, password);
   }
@@ -423,7 +412,6 @@
    */
   public static DigestMD5SASLBindRequest newDigestMD5SASLBindRequest(
       final String authenticationID, final char[] password)
-      throws NullPointerException
   {
     return new DigestMD5SASLBindRequestImpl(authenticationID,
         getBytes(password));
@@ -459,7 +447,6 @@
    */
   public static GenericBindRequest newGenericBindRequest(
       final byte authenticationType, final byte[] authenticationValue)
-      throws NullPointerException
   {
     Validator.ensureNotNull(authenticationValue);
     return new GenericBindRequestImpl("", authenticationType,
@@ -491,7 +478,6 @@
    */
   public static GenericBindRequest newGenericBindRequest(final String name,
       final byte authenticationType, final byte[] authenticationValue)
-      throws NullPointerException
   {
     Validator.ensureNotNull(name, authenticationValue);
     return new GenericBindRequestImpl(name, authenticationType,
@@ -512,7 +498,7 @@
    *           If {@code requestName} was {@code null}.
    */
   public static GenericExtendedRequest newGenericExtendedRequest(
-      final String requestName) throws NullPointerException
+      final String requestName)
   {
     Validator.ensureNotNull(requestName);
     return new GenericExtendedRequestImpl(requestName, null);
@@ -536,7 +522,6 @@
    */
   public static GenericExtendedRequest newGenericExtendedRequest(
       final String requestName, final ByteString requestValue)
-      throws NullPointerException
   {
     Validator.ensureNotNull(requestName);
     return new GenericExtendedRequestImpl(requestName, requestValue);
@@ -561,7 +546,6 @@
    */
   public static GSSAPISASLBindRequest newGSSAPISASLBindRequest(
       final String authenticationID, final byte[] password)
-      throws NullPointerException
   {
     return new GSSAPISASLBindRequestImpl(authenticationID, password);
   }
@@ -586,7 +570,6 @@
    */
   public static GSSAPISASLBindRequest newGSSAPISASLBindRequest(
       final String authenticationID, final char[] password)
-      throws NullPointerException
   {
     return new GSSAPISASLBindRequestImpl(authenticationID, getBytes(password));
   }
@@ -604,7 +587,7 @@
    *           If {@code subject} was {@code null}.
    */
   public static GSSAPISASLBindRequest newGSSAPISASLBindRequest(
-      final Subject subject) throws NullPointerException
+      final Subject subject)
   {
     return new GSSAPISASLBindRequestImpl(subject);
   }
@@ -624,7 +607,7 @@
    *           If {@code name} or {@code newRDN} was {@code null}.
    */
   public static ModifyDNRequest newModifyDNRequest(final DN name,
-      final RDN newRDN) throws NullPointerException
+      final RDN newRDN)
   {
     Validator.ensureNotNull(name, newRDN);
     return new ModifyDNRequestImpl(name, newRDN);
@@ -648,8 +631,7 @@
    *           If {@code name} or {@code newRDN} was {@code null}.
    */
   public static ModifyDNRequest newModifyDNRequest(final String name,
-      final String newRDN) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final String newRDN)
   {
     Validator.ensureNotNull(name, newRDN);
     return new ModifyDNRequestImpl(DN.valueOf(name), RDN.valueOf(newRDN));
@@ -667,7 +649,6 @@
    *           If {@code name} was {@code null}.
    */
   public static ModifyRequest newModifyRequest(final DN name)
-      throws NullPointerException
   {
     Validator.ensureNotNull(name);
     return new ModifyRequestImpl(name);
@@ -704,7 +685,7 @@
    * @see Entries#diffEntries(Entry, Entry)
    */
   public static final ModifyRequest newModifyRequest(Entry fromEntry,
-      Entry toEntry) throws NullPointerException
+      Entry toEntry)
   {
     return Entries.diffEntries(fromEntry, toEntry);
   }
@@ -724,7 +705,6 @@
    *           If {@code name} was {@code null}.
    */
   public static ModifyRequest newModifyRequest(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(name);
     return new ModifyRequestImpl(DN.valueOf(name));
@@ -746,7 +726,6 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public static ModifyRequest newModifyRequest(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // LDIF change record reader is tolerant to missing change types.
     final ChangeRecord record = LDIFChangeRecordReader
@@ -797,7 +776,6 @@
    */
   public static PlainSASLBindRequest newPlainSASLBindRequest(
       final String authenticationID, final byte[] password)
-      throws NullPointerException
   {
     return new PlainSASLBindRequestImpl(authenticationID, password);
   }
@@ -822,7 +800,6 @@
    */
   public static PlainSASLBindRequest newPlainSASLBindRequest(
       final String authenticationID, final char[] password)
-      throws NullPointerException
   {
     return new PlainSASLBindRequestImpl(authenticationID, getBytes(password));
   }
@@ -850,7 +827,7 @@
    */
   public static SearchRequest newSearchRequest(final DN name,
       final SearchScope scope, final Filter filter,
-      final String... attributeDescriptions) throws NullPointerException
+      final String... attributeDescriptions)
   {
     Validator.ensureNotNull(name, scope, filter);
     final SearchRequest request = new SearchRequestImpl(name, scope, filter);
@@ -889,7 +866,6 @@
   public static SearchRequest newSearchRequest(final String name,
       final SearchScope scope, final String filter,
       final String... attributeDescriptions)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(name, scope, filter);
     final SearchRequest request = new SearchRequestImpl(DN.valueOf(name),
@@ -937,7 +913,7 @@
    *           If {@code name} or {@code password} was {@code null}.
    */
   public static SimpleBindRequest newSimpleBindRequest(final String name,
-      final byte[] password) throws NullPointerException
+      final byte[] password)
   {
     Validator.ensureNotNull(name, password);
     return new SimpleBindRequestImpl(name, password);
@@ -967,7 +943,7 @@
    *           If {@code name} or {@code password} was {@code null}.
    */
   public static SimpleBindRequest newSimpleBindRequest(final String name,
-      final char[] password) throws NullPointerException
+      final char[] password)
   {
     Validator.ensureNotNull(name, password);
     return new SimpleBindRequestImpl(name, getBytes(password));
@@ -986,7 +962,7 @@
    *           If {@code sslContext} was {@code null}.
    */
   public static StartTLSExtendedRequest newStartTLSExtendedRequest(
-      final SSLContext sslContext) throws NullPointerException
+      final SSLContext sslContext)
   {
     return new StartTLSExtendedRequestImpl(sslContext);
   }
@@ -1027,7 +1003,7 @@
    *           If {@code request} was {@code null}
    */
   public static AbandonRequest unmodifiableAbandonRequest(
-      final AbandonRequest request) throws NullPointerException
+      final AbandonRequest request)
   {
     if (request instanceof UnmodifiableAbandonRequestImpl)
     {
@@ -1048,7 +1024,6 @@
    *           If {@code request} was {@code null} .
    */
   public static AddRequest unmodifiableAddRequest(final AddRequest request)
-      throws NullPointerException
   {
     if (request instanceof UnmodifiableAddRequestImpl)
     {
@@ -1070,7 +1045,7 @@
    *           If {@code request} was {@code null} .
    */
   public static AnonymousSASLBindRequest unmodifiableAnonymousSASLBindRequest(
-      final AnonymousSASLBindRequest request) throws NullPointerException
+      final AnonymousSASLBindRequest request)
   {
     if (request instanceof UnmodifiableAnonymousSASLBindRequestImpl)
     {
@@ -1091,7 +1066,7 @@
    *           If {@code request} was {@code null} .
    */
   public static CancelExtendedRequest unmodifiableCancelExtendedRequest(
-      final CancelExtendedRequest request) throws NullPointerException
+      final CancelExtendedRequest request)
   {
     if (request instanceof UnmodifiableCancelExtendedRequestImpl)
     {
@@ -1112,7 +1087,7 @@
    *           If {@code request} was {@code null} .
    */
   public static CompareRequest unmodifiableCompareRequest(
-      final CompareRequest request) throws NullPointerException
+      final CompareRequest request)
   {
     if (request instanceof UnmodifiableCompareRequestImpl)
     {
@@ -1136,7 +1111,7 @@
    *           If {@code request} was {@code null}.
    */
   public static CRAMMD5SASLBindRequest unmodifiableCRAMMD5SASLBindRequest(
-      final CRAMMD5SASLBindRequest request) throws NullPointerException
+      final CRAMMD5SASLBindRequest request)
   {
     if (request instanceof UnmodifiableCRAMMD5SASLBindRequestImpl)
     {
@@ -1157,7 +1132,7 @@
    *           If {@code request} was {@code null}.
    */
   public static DeleteRequest unmodifiableDeleteRequest(
-      final DeleteRequest request) throws NullPointerException
+      final DeleteRequest request)
   {
     if (request instanceof UnmodifiableDeleteRequestImpl)
     {
@@ -1182,7 +1157,7 @@
    *           If {@code request} was {@code null}.
    */
   public static DigestMD5SASLBindRequest unmodifiableDigestMD5SASLBindRequest(
-      final DigestMD5SASLBindRequest request) throws NullPointerException
+      final DigestMD5SASLBindRequest request)
   {
     if (request instanceof UnmodifiableDigestMD5SASLBindRequestImpl)
     {
@@ -1203,7 +1178,7 @@
    *           If {@code request} was {@code null} .
    */
   public static ExternalSASLBindRequest unmodifiableExternalSASLBindRequest(
-      final ExternalSASLBindRequest request) throws NullPointerException
+      final ExternalSASLBindRequest request)
   {
     if (request instanceof UnmodifiableExternalSASLBindRequestImpl)
     {
@@ -1227,7 +1202,7 @@
    *           If {@code request} was {@code null} .
    */
   public static GenericBindRequest unmodifiableGenericBindRequest(
-      final GenericBindRequest request) throws NullPointerException
+      final GenericBindRequest request)
   {
     if (request instanceof UnmodifiableGenericBindRequestImpl)
     {
@@ -1248,7 +1223,7 @@
    *           If {@code request} was {@code null} .
    */
   public static GenericExtendedRequest unmodifiableGenericExtendedRequest(
-      GenericExtendedRequest request) throws NullPointerException
+      GenericExtendedRequest request)
   {
     if (request instanceof UnmodifiableGenericExtendedRequestImpl)
     {
@@ -1272,7 +1247,7 @@
    *           If {@code request} was {@code null}.
    */
   public static GSSAPISASLBindRequest unmodifiableGSSAPISASLBindRequest(
-      final GSSAPISASLBindRequest request) throws NullPointerException
+      final GSSAPISASLBindRequest request)
   {
     if (request instanceof UnmodifiableGSSAPISASLBindRequestImpl)
     {
@@ -1293,7 +1268,7 @@
    *           If {@code request} was {@code null} .
    */
   public static ModifyDNRequest unmodifiableModifyDNRequest(
-      final ModifyDNRequest request) throws NullPointerException
+      final ModifyDNRequest request)
   {
     if (request instanceof UnmodifiableModifyDNRequestImpl)
     {
@@ -1314,7 +1289,7 @@
    *           If {@code request} was {@code null} .
    */
   public static ModifyRequest unmodifiableModifyRequest(
-      final ModifyRequest request) throws NullPointerException
+      final ModifyRequest request)
   {
     if (request instanceof UnmodifiableModifyRequestImpl)
     {
@@ -1336,7 +1311,7 @@
    *           If {@code request} was {@code null} .
    */
   public static PasswordModifyExtendedRequest unmodifiablePasswordModifyExtendedRequest(
-      final PasswordModifyExtendedRequest request) throws NullPointerException
+      final PasswordModifyExtendedRequest request)
   {
     if (request instanceof UnmodifiablePasswordModifyExtendedRequestImpl)
     {
@@ -1360,7 +1335,7 @@
    *           If {@code request} was {@code null} .
    */
   public static PlainSASLBindRequest unmodifiablePlainSASLBindRequest(
-      final PlainSASLBindRequest request) throws NullPointerException
+      final PlainSASLBindRequest request)
   {
     if (request instanceof UnmodifiablePlainSASLBindRequestImpl)
     {
@@ -1381,7 +1356,7 @@
    *           If {@code request} was {@code null} .
    */
   public static SearchRequest unmodifiableSearchRequest(
-      final SearchRequest request) throws NullPointerException
+      final SearchRequest request)
   {
     if (request instanceof UnmodifiableSearchRequestImpl)
     {
@@ -1405,7 +1380,7 @@
    *           If {@code request} was {@code null} .
    */
   public static SimpleBindRequest unmodifiableSimpleBindRequest(
-      final SimpleBindRequest request) throws NullPointerException
+      final SimpleBindRequest request)
   {
     if (request instanceof UnmodifiableSimpleBindRequestImpl)
     {
@@ -1426,7 +1401,7 @@
    *           If {@code request} was {@code null} .
    */
   public static StartTLSExtendedRequest unmodifiableStartTLSExtendedRequest(
-      final StartTLSExtendedRequest request) throws NullPointerException
+      final StartTLSExtendedRequest request)
   {
     if (request instanceof UnmodifiableStartTLSExtendedRequestImpl)
     {
@@ -1447,7 +1422,7 @@
    *           If {@code request} was {@code null} .
    */
   public static UnbindRequest unmodifiableUnbindRequest(
-      final UnbindRequest request) throws NullPointerException
+      final UnbindRequest request)
   {
     if (request instanceof UnmodifiableUnbindRequestImpl)
     {
@@ -1469,7 +1444,7 @@
    *           If {@code request} was {@code null} .
    */
   public static WhoAmIExtendedRequest unmodifiableWhoAmIExtendedRequest(
-      final WhoAmIExtendedRequest request) throws NullPointerException
+      final WhoAmIExtendedRequest request)
   {
     if (request instanceof UnmodifiableWhoAmIExtendedRequestImpl)
     {
@@ -1491,7 +1466,6 @@
    *           If {@code request} was {@code null}
    */
   public static AbandonRequest copyOfAbandonRequest(final AbandonRequest request)
-      throws NullPointerException
   {
     return new AbandonRequestImpl(request);
   }
@@ -1508,7 +1482,6 @@
    *           If {@code request} was {@code null} .
    */
   public static AddRequest copyOfAddRequest(final AddRequest request)
-      throws NullPointerException
   {
     return new AddRequestImpl(request);
   }
@@ -1526,7 +1499,7 @@
    *           If {@code request} was {@code null} .
    */
   public static AnonymousSASLBindRequest copyOfAnonymousSASLBindRequest(
-      final AnonymousSASLBindRequest request) throws NullPointerException
+      final AnonymousSASLBindRequest request)
   {
     return new AnonymousSASLBindRequestImpl(request);
   }
@@ -1544,7 +1517,7 @@
    *           If {@code request} was {@code null} .
    */
   public static CancelExtendedRequest copyOfCancelExtendedRequest(
-      final CancelExtendedRequest request) throws NullPointerException
+      final CancelExtendedRequest request)
   {
     return new CancelExtendedRequestImpl(request);
   }
@@ -1562,7 +1535,6 @@
    *           If {@code request} was {@code null} .
    */
   public static CompareRequest copyOfCompareRequest(final CompareRequest request)
-      throws NullPointerException
   {
     return new CompareRequestImpl(request);
   }
@@ -1580,7 +1552,7 @@
    *           If {@code request} was {@code null}.
    */
   public static CRAMMD5SASLBindRequest copyOfCRAMMD5SASLBindRequest(
-      final CRAMMD5SASLBindRequest request) throws NullPointerException
+      final CRAMMD5SASLBindRequest request)
   {
     return new CRAMMD5SASLBindRequestImpl(request);
   }
@@ -1597,7 +1569,6 @@
    *           If {@code request} was {@code null}.
    */
   public static DeleteRequest copyOfDeleteRequest(final DeleteRequest request)
-      throws NullPointerException
   {
     return new DeleteRequestImpl(request);
   }
@@ -1615,7 +1586,7 @@
    *           If {@code request} was {@code null}.
    */
   public static DigestMD5SASLBindRequest copyOfDigestMD5SASLBindRequest(
-      final DigestMD5SASLBindRequest request) throws NullPointerException
+      final DigestMD5SASLBindRequest request)
   {
     return new DigestMD5SASLBindRequestImpl(request);
   }
@@ -1633,7 +1604,7 @@
    *           If {@code request} was {@code null} .
    */
   public static ExternalSASLBindRequest copyOfExternalSASLBindRequest(
-      final ExternalSASLBindRequest request) throws NullPointerException
+      final ExternalSASLBindRequest request)
   {
     return new ExternalSASLBindRequestImpl(request);
   }
@@ -1651,7 +1622,7 @@
    *           If {@code request} was {@code null} .
    */
   public static GenericBindRequest copyOfGenericBindRequest(
-      final GenericBindRequest request) throws NullPointerException
+      final GenericBindRequest request)
   {
     return new GenericBindRequestImpl(request);
   }
@@ -1669,7 +1640,7 @@
    *           If {@code request} was {@code null} .
    */
   public static GenericExtendedRequest copyOfGenericExtendedRequest(
-      GenericExtendedRequest request) throws NullPointerException
+      GenericExtendedRequest request)
   {
     return new GenericExtendedRequestImpl(request);
   }
@@ -1687,7 +1658,7 @@
    *           If {@code request} was {@code null}.
    */
   public static GSSAPISASLBindRequest copyOfGSSAPISASLBindRequest(
-      final GSSAPISASLBindRequest request) throws NullPointerException
+      final GSSAPISASLBindRequest request)
   {
     return new GSSAPISASLBindRequestImpl(request);
   }
@@ -1705,7 +1676,7 @@
    *           If {@code request} was {@code null} .
    */
   public static ModifyDNRequest copyOfModifyDNRequest(
-      final ModifyDNRequest request) throws NullPointerException
+      final ModifyDNRequest request)
   {
     return new ModifyDNRequestImpl(request);
   }
@@ -1722,7 +1693,6 @@
    *           If {@code request} was {@code null} .
    */
   public static ModifyRequest copyOfModifyRequest(final ModifyRequest request)
-      throws NullPointerException
   {
     return new ModifyRequestImpl(request);
   }
@@ -1740,7 +1710,7 @@
    *           If {@code request} was {@code null} .
    */
   public static PasswordModifyExtendedRequest copyOfPasswordModifyExtendedRequest(
-      final PasswordModifyExtendedRequest request) throws NullPointerException
+      final PasswordModifyExtendedRequest request)
   {
     return new PasswordModifyExtendedRequestImpl(request);
   }
@@ -1758,7 +1728,7 @@
    *           If {@code request} was {@code null} .
    */
   public static PlainSASLBindRequest copyOfPlainSASLBindRequest(
-      final PlainSASLBindRequest request) throws NullPointerException
+      final PlainSASLBindRequest request)
   {
     return new PlainSASLBindRequestImpl(request);
   }
@@ -1775,7 +1745,6 @@
    *           If {@code request} was {@code null} .
    */
   public static SearchRequest copyOfSearchRequest(final SearchRequest request)
-      throws NullPointerException
   {
     return new SearchRequestImpl(request);
   }
@@ -1793,7 +1762,7 @@
    *           If {@code request} was {@code null} .
    */
   public static SimpleBindRequest copyOfSimpleBindRequest(
-      final SimpleBindRequest request) throws NullPointerException
+      final SimpleBindRequest request)
   {
     return new SimpleBindRequestImpl(request);
   }
@@ -1811,7 +1780,7 @@
    *           If {@code request} was {@code null} .
    */
   public static StartTLSExtendedRequest copyOfStartTLSExtendedRequest(
-      final StartTLSExtendedRequest request) throws NullPointerException
+      final StartTLSExtendedRequest request)
   {
     return new StartTLSExtendedRequestImpl(request);
   }
@@ -1828,7 +1797,6 @@
    *           If {@code request} was {@code null} .
    */
   public static UnbindRequest copyOfUnbindRequest(final UnbindRequest request)
-      throws NullPointerException
   {
     return new UnbindRequestImpl(request);
   }
@@ -1846,7 +1814,7 @@
    *           If {@code request} was {@code null} .
    */
   public static WhoAmIExtendedRequest copyOfWhoAmIExtendedRequest(
-      final WhoAmIExtendedRequest request) throws NullPointerException
+      final WhoAmIExtendedRequest request)
   {
     return new WhoAmIExtendedRequestImpl(request);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SASLBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SASLBindRequest.java
index cf9cba5..4787a45 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SASLBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SASLBindRequest.java
@@ -51,8 +51,7 @@
   /**
    * {@inheritDoc}
    */
-  SASLBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  SASLBindRequest addControl(Control control);
 
 
 
@@ -77,7 +76,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequest.java
index 9114799..0e85f09 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.controls.Control;
 import org.forgerock.opendj.ldap.controls.ControlDecoder;
@@ -61,16 +62,14 @@
    * @throws NullPointerException
    *           If {@code attributeDescriptions} was {@code null}.
    */
-  SearchRequest addAttribute(String... attributeDescriptions)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchRequest addAttribute(String... attributeDescriptions);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchRequest addControl(Control control);
 
 
 
@@ -90,7 +89,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -194,8 +193,7 @@
    * @throws NullPointerException
    *           If {@code policy} was {@code null}.
    */
-  SearchRequest setDereferenceAliasesPolicy(DereferenceAliasesPolicy policy)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchRequest setDereferenceAliasesPolicy(DereferenceAliasesPolicy policy);
 
 
 
@@ -212,8 +210,7 @@
    * @throws NullPointerException
    *           If {@code filter} was {@code null}.
    */
-  SearchRequest setFilter(Filter filter) throws UnsupportedOperationException,
-      NullPointerException;
+  SearchRequest setFilter(Filter filter);
 
 
 
@@ -233,8 +230,7 @@
    * @throws NullPointerException
    *           If {@code filter} was {@code null}.
    */
-  SearchRequest setFilter(String filter) throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException, NullPointerException;
+  SearchRequest setFilter(String filter);
 
 
 
@@ -252,8 +248,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  SearchRequest setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  SearchRequest setName(DN dn);
 
 
 
@@ -273,8 +268,7 @@
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  SearchRequest setName(String dn) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  SearchRequest setName(String dn);
 
 
 
@@ -289,8 +283,7 @@
    * @throws NullPointerException
    *           If {@code scope} was {@code null}.
    */
-  SearchRequest setScope(SearchScope scope)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchRequest setScope(SearchScope scope);
 
 
 
@@ -311,8 +304,7 @@
    * @throws LocalizedIllegalArgumentException
    *           If {@code limit} was negative.
    */
-  SearchRequest setSizeLimit(int limit) throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException;
+  SearchRequest setSizeLimit(int limit);
 
 
 
@@ -333,8 +325,7 @@
    * @throws LocalizedIllegalArgumentException
    *           If {@code limit} was negative.
    */
-  SearchRequest setTimeLimit(int limit) throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException;
+  SearchRequest setTimeLimit(int limit);
 
 
 
@@ -351,7 +342,6 @@
    *           If this search request does not permit the types-only parameter
    *           to be set.
    */
-  SearchRequest setTypesOnly(boolean typesOnly)
-      throws UnsupportedOperationException;
+  SearchRequest setTypesOnly(boolean typesOnly);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequestImpl.java
index 3011e4f..a3f4eac 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SearchRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -32,7 +33,6 @@
 import java.util.LinkedList;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
 import org.forgerock.opendj.ldap.Filter;
@@ -85,7 +85,6 @@
    *           {@code null}.
    */
   SearchRequestImpl(final DN name, final SearchScope scope, final Filter filter)
-      throws NullPointerException
   {
     this.name = name;
     this.scope = scope;
@@ -104,7 +103,6 @@
    *           If {@code searchRequest} was {@code null} .
    */
   SearchRequestImpl(final SearchRequest searchRequest)
-      throws NullPointerException
   {
     super(searchRequest);
     this.attributes.addAll(searchRequest.getAttributes());
@@ -123,7 +121,6 @@
    * {@inheritDoc}
    */
   public SearchRequest addAttribute(final String... attributeDescriptions)
-      throws NullPointerException
   {
     for (String attributeDescription : attributeDescriptions)
     {
@@ -218,7 +215,7 @@
    * {@inheritDoc}
    */
   public SearchRequest setDereferenceAliasesPolicy(
-      final DereferenceAliasesPolicy policy) throws NullPointerException
+      final DereferenceAliasesPolicy policy)
   {
     Validator.ensureNotNull(policy);
 
@@ -232,7 +229,6 @@
    * {@inheritDoc}
    */
   public SearchRequest setFilter(final Filter filter)
-      throws NullPointerException
   {
     Validator.ensureNotNull(filter);
 
@@ -246,7 +242,6 @@
    * {@inheritDoc}
    */
   public SearchRequest setFilter(final String filter)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     this.filter = Filter.valueOf(filter);
     return this;
@@ -257,7 +252,7 @@
   /**
    * {@inheritDoc}
    */
-  public SearchRequest setName(final DN dn) throws NullPointerException
+  public SearchRequest setName(final DN dn)
   {
     Validator.ensureNotNull(dn);
 
@@ -271,7 +266,6 @@
    * {@inheritDoc}
    */
   public SearchRequest setName(final String dn)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     Validator.ensureNotNull(dn);
 
@@ -285,7 +279,6 @@
    * {@inheritDoc}
    */
   public SearchRequest setScope(final SearchScope scope)
-      throws NullPointerException
   {
     Validator.ensureNotNull(scope);
 
@@ -299,9 +292,7 @@
    * {@inheritDoc}
    */
   public SearchRequest setSizeLimit(final int limit)
-      throws LocalizedIllegalArgumentException
   {
-    // FIXME: I18N error message.
     Validator.ensureTrue(limit >= 0, "negative size limit");
 
     this.sizeLimit = limit;
@@ -314,9 +305,7 @@
    * {@inheritDoc}
    */
   public SearchRequest setTimeLimit(final int limit)
-      throws LocalizedIllegalArgumentException
   {
-    // FIXME: I18N error message.
     Validator.ensureTrue(limit >= 0, "negative time limit");
 
     this.timeLimit = limit;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequest.java
index f4ae287..2b72f3f 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequest.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -57,8 +57,7 @@
   /**
    * {@inheritDoc}
    */
-  SimpleBindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  SimpleBindRequest addControl(Control control);
 
 
 
@@ -83,7 +82,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -137,8 +136,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  SimpleBindRequest setName(String name) throws UnsupportedOperationException,
-      NullPointerException;
+  SimpleBindRequest setName(String name);
 
 
 
@@ -161,8 +159,7 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  SimpleBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  SimpleBindRequest setPassword(byte[] password);
 
 
 
@@ -183,7 +180,6 @@
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
-  SimpleBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException;
+  SimpleBindRequest setPassword(char[] password);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
index 1462dc8..e56cc05 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/SimpleBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -67,7 +67,6 @@
    *           If {@code name} or {@code password} was {@code null}.
    */
   SimpleBindRequestImpl(final String name, final byte[] password)
-      throws NullPointerException
   {
     this.name = name;
     this.password = password;
@@ -85,7 +84,6 @@
    *           If {@code simpleBindRequest} was {@code null} .
    */
   SimpleBindRequestImpl(final SimpleBindRequest simpleBindRequest)
-      throws NullPointerException
   {
     super(simpleBindRequest);
     this.name = simpleBindRequest.getName();
@@ -134,7 +132,6 @@
    * {@inheritDoc}
    */
   public SimpleBindRequest setName(final String name)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(name);
     this.name = name;
@@ -147,7 +144,6 @@
    * {@inheritDoc}
    */
   public SimpleBindRequest setPassword(final byte[] password)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = password;
@@ -160,7 +156,6 @@
    * {@inheritDoc}
    */
   public SimpleBindRequest setPassword(final char[] password)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(password);
     this.password = StaticUtils.getBytes(password);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequest.java
index d6bee5d..cf18773 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -73,8 +74,7 @@
   /**
    * {@inheritDoc}
    */
-  StartTLSExtendedRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  StartTLSExtendedRequest addControl(Control control);
 
 
 
@@ -82,7 +82,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -131,8 +131,7 @@
    *           If this start TLS extended request does not permit the enabled
    *           protocols to be set.
    */
-  StartTLSExtendedRequest addEnabledProtocol(String... protocols)
-      throws UnsupportedOperationException;
+  StartTLSExtendedRequest addEnabledProtocol(String... protocols);
 
 
   /**
@@ -150,8 +149,7 @@
    *           If this start TLS extended request does not permit the enabled
    *           cipher suites to be set.
    */
-  StartTLSExtendedRequest addEnabledCipherSuite(String... suites)
-      throws UnsupportedOperationException;
+  StartTLSExtendedRequest addEnabledCipherSuite(String... suites);
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequestImpl.java
index 55c76b4..edb0339 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/StartTLSExtendedRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -133,7 +134,6 @@
    */
   StartTLSExtendedRequestImpl(
       final StartTLSExtendedRequest startTLSExtendedRequest)
-      throws NullPointerException
   {
     super(startTLSExtendedRequest);
     this.sslContext = startTLSExtendedRequest.getSSLContext();
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequest.java
index 27cf8bd..6038e10 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequest.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -46,8 +47,7 @@
   /**
    * {@inheritDoc}
    */
-  UnbindRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  UnbindRequest addControl(Control control);
 
 
 
@@ -55,7 +55,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequestImpl.java
index 4ea668b..aba13d3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnbindRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -56,7 +57,6 @@
    *           If {@code unbindRequest} was {@code null} .
    */
   UnbindRequestImpl(final UnbindRequest unbindRequest)
-      throws NullPointerException
   {
     super(unbindRequest);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAbandonRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAbandonRequestImpl.java
index f90dd29..a3db476 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAbandonRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAbandonRequestImpl.java
@@ -27,29 +27,36 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 /**
  * Unmodifiable abandon request implementation.
  */
-final class UnmodifiableAbandonRequestImpl
-    extends AbstractUnmodifiableRequest<AbandonRequest>
-    implements AbandonRequest
+final class UnmodifiableAbandonRequestImpl extends
+    AbstractUnmodifiableRequest<AbandonRequest> implements AbandonRequest
 {
-  UnmodifiableAbandonRequestImpl(AbandonRequest request) {
+  UnmodifiableAbandonRequestImpl(AbandonRequest request)
+  {
     super(request);
   }
 
+
+
   /**
    * {@inheritDoc}
    */
-  public int getRequestID() {
+  public int getRequestID()
+  {
     return impl.getRequestID();
   }
 
+
+
   /**
    * {@inheritDoc}
    */
   public AbandonRequest setRequestID(int id)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
index f9ad3a6..c90e7fa 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAddRequestImpl.java
@@ -27,25 +27,26 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
 import com.forgerock.opendj.util.Function;
 import com.forgerock.opendj.util.Iterables;
 
+
+
 /**
  * Unmodifiable add request implementation.
  */
-final class UnmodifiableAddRequestImpl
-    extends AbstractUnmodifiableRequest<AddRequest>
-    implements AddRequest
+final class UnmodifiableAddRequestImpl extends
+    AbstractUnmodifiableRequest<AddRequest> implements AddRequest
 {
   private static final Function<Attribute, Attribute, Void>
-      UNMODIFIABLE_ATTRIBUTE_FUNCTION =
-      new Function<Attribute, Attribute, Void>()
+    UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>()
   {
 
     public Attribute apply(final Attribute value, final Void p)
@@ -55,77 +56,97 @@
 
   };
 
-  UnmodifiableAddRequestImpl(AddRequest impl) {
+
+
+  UnmodifiableAddRequestImpl(AddRequest impl)
+  {
     super(impl);
   }
 
-  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p) {
+
+
+  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p)
+  {
     return v.visitChangeRecord(p, this);
   }
 
+
+
   public boolean addAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean addAttribute(Attribute attribute,
-                             Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException {
+      Collection<ByteString> duplicateValues)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public AddRequest addAttribute(String attributeDescription,
-                                 Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+
+
+  public AddRequest addAttribute(String attributeDescription, Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public AddRequest clearAttributes()
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean containsAttribute(Attribute attribute,
-                               Collection<ByteString> missingValues)
-      throws NullPointerException {
+      Collection<ByteString> missingValues)
+  {
     return impl.containsAttribute(attribute, missingValues);
   }
 
+
+
   public boolean containsAttribute(String attributeDescription,
-                                   Object... values)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
+      Object... values)
+  {
     return impl.containsAttribute(attributeDescription, values);
   }
 
-  public Iterable<Attribute> getAllAttributes() {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
+
+
+  public Iterable<Attribute> getAllAttributes()
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
+
+
   public Iterable<Attribute> getAllAttributes(
       AttributeDescription attributeDescription)
-      throws NullPointerException {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(attributeDescription),
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(attributeDescription),
         UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
-  public Iterable<Attribute> getAllAttributes(
-      String attributeDescription)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(attributeDescription),
+
+
+  public Iterable<Attribute> getAllAttributes(String attributeDescription)
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(attributeDescription),
         UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
-  public Attribute getAttribute(
-      AttributeDescription attributeDescription)
-      throws NullPointerException {
-    final Attribute attribute =
-        impl.getAttribute(attributeDescription);
+
+
+  public Attribute getAttribute(AttributeDescription attributeDescription)
+  {
+    final Attribute attribute = impl.getAttribute(attributeDescription);
     if (attribute != null)
     {
       return Attributes.unmodifiableAttribute(attribute);
@@ -136,11 +157,11 @@
     }
   }
 
+
+
   public Attribute getAttribute(String attributeDescription)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
-    final Attribute attribute =
-        impl.getAttribute(attributeDescription);
+  {
+    final Attribute attribute = impl.getAttribute(attributeDescription);
     if (attribute != null)
     {
       return Attributes.unmodifiableAttribute(attribute);
@@ -151,53 +172,69 @@
     }
   }
 
-  public int getAttributeCount() {
+
+
+  public int getAttributeCount()
+  {
     return impl.getAttributeCount();
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
+
+
   public boolean removeAttribute(Attribute attribute,
-                               Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException {
+      Collection<ByteString> missingValues)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public boolean removeAttribute(
-      AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException {
+
+
+  public boolean removeAttribute(AttributeDescription attributeDescription)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public AddRequest removeAttribute(String attributeDescription,
-                                    Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean replaceAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public AddRequest replaceAttribute(String attributeDescription,
-                                     Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public AddRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public AddRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAnonymousSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAnonymousSASLBindRequestImpl.java
index 44ad984..370f1e5 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAnonymousSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableAnonymousSASLBindRequestImpl.java
@@ -23,10 +23,13 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 /**
  * Unmodifiable anonymous SASL bind request implementation.
  */
@@ -34,18 +37,24 @@
     AbstractUnmodifiableSASLBindRequest<AnonymousSASLBindRequest> implements
     AnonymousSASLBindRequest
 {
-  UnmodifiableAnonymousSASLBindRequestImpl(AnonymousSASLBindRequest impl) {
+  UnmodifiableAnonymousSASLBindRequestImpl(AnonymousSASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public String getTraceString() {
+  public String getTraceString()
+  {
     return impl.getTraceString();
   }
 
+
+
   @Override
   public AnonymousSASLBindRequest setTraceString(String traceString)
-      throws NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCRAMMD5SASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCRAMMD5SASLBindRequestImpl.java
index e3fecd5..d0560f8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCRAMMD5SASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCRAMMD5SASLBindRequestImpl.java
@@ -23,15 +23,17 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
 
 import com.forgerock.opendj.util.StaticUtils;
 
+
+
 /**
  * Unmodifiable CRAM-MD5 SASL bind request implementation.
  */
@@ -39,36 +41,49 @@
     AbstractUnmodifiableSASLBindRequest<CRAMMD5SASLBindRequest> implements
     CRAMMD5SASLBindRequest
 {
-  UnmodifiableCRAMMD5SASLBindRequestImpl(CRAMMD5SASLBindRequest impl) {
+  UnmodifiableCRAMMD5SASLBindRequestImpl(CRAMMD5SASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public String getAuthenticationID() {
+  public String getAuthenticationID()
+  {
     return impl.getAuthenticationID();
   }
 
+
+
   @Override
-  public byte[] getPassword() {
+  public byte[] getPassword()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getPassword());
   }
 
+
+
   @Override
   public CRAMMD5SASLBindRequest setAuthenticationID(String authenticationID)
-      throws LocalizedIllegalArgumentException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public CRAMMD5SASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public CRAMMD5SASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCancelExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCancelExtendedRequestImpl.java
index 3df30f5..d56fbd1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCancelExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCancelExtendedRequestImpl.java
@@ -23,31 +23,40 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import org.forgerock.opendj.ldap.responses.ExtendedResult;
 
+
+
 /**
  * Unmodifiable cancel extended request implementation.
  */
-final class UnmodifiableCancelExtendedRequestImpl
-    extends AbstractUnmodifiableExtendedRequest
-    <CancelExtendedRequest, ExtendedResult>
+final class UnmodifiableCancelExtendedRequestImpl extends
+    AbstractUnmodifiableExtendedRequest<CancelExtendedRequest, ExtendedResult>
     implements CancelExtendedRequest
 {
-  UnmodifiableCancelExtendedRequestImpl(
-      CancelExtendedRequest impl) {
+  UnmodifiableCancelExtendedRequestImpl(CancelExtendedRequest impl)
+  {
     super(impl);
   }
 
-  public int getRequestID() {
+
+
+  public int getRequestID()
+  {
     return impl.getRequestID();
   }
 
+
+
   public CancelExtendedRequest setRequestID(int id)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCompareRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCompareRequestImpl.java
index 641c109..60a3799 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCompareRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableCompareRequestImpl.java
@@ -23,73 +23,98 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
+
 import org.forgerock.opendj.ldap.AttributeDescription;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DN;
 
+
+
 /**
  * Unmodifiable compare request implementation.
  */
-final class UnmodifiableCompareRequestImpl
-    extends AbstractUnmodifiableRequest<CompareRequest>
-    implements CompareRequest
+final class UnmodifiableCompareRequestImpl extends
+    AbstractUnmodifiableRequest<CompareRequest> implements CompareRequest
 {
-  UnmodifiableCompareRequestImpl(CompareRequest impl) {
+  UnmodifiableCompareRequestImpl(CompareRequest impl)
+  {
     super(impl);
   }
 
-  public ByteString getAssertionValue() {
+
+
+  public ByteString getAssertionValue()
+  {
     return impl.getAssertionValue();
   }
 
-  public String getAssertionValueAsString() {
+
+
+  public String getAssertionValueAsString()
+  {
     return impl.getAssertionValueAsString();
   }
 
-  public AttributeDescription getAttributeDescription() {
+
+
+  public AttributeDescription getAttributeDescription()
+  {
     return impl.getAttributeDescription();
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
+
+
   public CompareRequest setAssertionValue(ByteString value)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public CompareRequest setAssertionValue(Object value)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public CompareRequest setAttributeDescription(
       AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
-  public CompareRequest setAttributeDescription(
-      String attributeDescription)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+
+
+  public CompareRequest setAttributeDescription(String attributeDescription)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public CompareRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public CompareRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDeleteRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDeleteRequestImpl.java
index 20b75bf..f15708b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDeleteRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDeleteRequestImpl.java
@@ -23,41 +23,54 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
+
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
+
+
 /**
  * Unmodifiable delete request implementation.
  */
-final class UnmodifiableDeleteRequestImpl
-    extends AbstractUnmodifiableRequest<DeleteRequest>
-    implements DeleteRequest
+final class UnmodifiableDeleteRequestImpl extends
+    AbstractUnmodifiableRequest<DeleteRequest> implements DeleteRequest
 {
-  UnmodifiableDeleteRequestImpl(DeleteRequest impl) {
+  UnmodifiableDeleteRequestImpl(DeleteRequest impl)
+  {
     super(impl);
   }
 
-  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p) {
+
+
+  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p)
+  {
     return v.visitChangeRecord(p, this);
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
+
+
   public DeleteRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public DeleteRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDigestMD5SASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDigestMD5SASLBindRequestImpl.java
index 9fb6308..583f27d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDigestMD5SASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableDigestMD5SASLBindRequestImpl.java
@@ -23,19 +23,21 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
-
 import com.forgerock.opendj.util.StaticUtils;
 
+
+
 /**
  * Unmodifiable digest-MD5 SASL bind request implementation.
  */
@@ -43,126 +45,178 @@
     AbstractUnmodifiableSASLBindRequest<DigestMD5SASLBindRequest> implements
     DigestMD5SASLBindRequest
 {
-  UnmodifiableDigestMD5SASLBindRequestImpl(DigestMD5SASLBindRequest impl) {
+  UnmodifiableDigestMD5SASLBindRequestImpl(DigestMD5SASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest addAdditionalAuthParam(String name,
-                                                         String value)
-      throws UnsupportedOperationException, NullPointerException {
+      String value)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest addQOP(String... qopValues)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
-  public Map<String, String> getAdditionalAuthParams() {
+  public Map<String, String> getAdditionalAuthParams()
+  {
     return Collections.unmodifiableMap(impl.getAdditionalAuthParams());
   }
 
+
+
   @Override
-  public String getAuthenticationID() {
+  public String getAuthenticationID()
+  {
     return impl.getAuthenticationID();
   }
 
+
+
   @Override
-  public String getAuthorizationID() {
+  public String getAuthorizationID()
+  {
     return impl.getAuthorizationID();
   }
 
+
+
   @Override
-  public String getCipher() {
+  public String getCipher()
+  {
     return impl.getCipher();
   }
 
+
+
   @Override
-  public int getMaxReceiveBufferSize() {
+  public int getMaxReceiveBufferSize()
+  {
     return impl.getMaxReceiveBufferSize();
   }
 
+
+
   @Override
-  public int getMaxSendBufferSize() {
+  public int getMaxSendBufferSize()
+  {
     return impl.getMaxSendBufferSize();
   }
 
+
+
   @Override
-  public byte[] getPassword() {
+  public byte[] getPassword()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getPassword());
   }
 
+
+
   @Override
-  public List<String> getQOPs() {
+  public List<String> getQOPs()
+  {
     return Collections.unmodifiableList(impl.getQOPs());
   }
 
+
+
   @Override
-  public String getRealm() {
+  public String getRealm()
+  {
     return impl.getRealm();
   }
 
+
+
   @Override
-  public boolean isServerAuth() {
+  public boolean isServerAuth()
+  {
     return impl.isServerAuth();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setAuthenticationID(String authenticationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setCipher(String cipher)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setMaxReceiveBufferSize(int size)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setMaxSendBufferSize(int size)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setRealm(String realm)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public DigestMD5SASLBindRequest setServerAuth(boolean serverAuth)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableExternalSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableExternalSASLBindRequestImpl.java
index a8c4e46..94ffe20 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableExternalSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableExternalSASLBindRequestImpl.java
@@ -23,11 +23,12 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
 
 /**
  * Unmodifiable external SASL bind request implementation.
@@ -36,18 +37,24 @@
     AbstractUnmodifiableSASLBindRequest<ExternalSASLBindRequest> implements
     ExternalSASLBindRequest
 {
-  UnmodifiableExternalSASLBindRequestImpl(ExternalSASLBindRequest impl) {
+  UnmodifiableExternalSASLBindRequestImpl(ExternalSASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public String getAuthorizationID() {
-    return  impl.getAuthorizationID();
+  public String getAuthorizationID()
+  {
+    return impl.getAuthorizationID();
   }
 
+
+
   @Override
   public ExternalSASLBindRequest setAuthorizationID(String authorizationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGSSAPISASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGSSAPISASLBindRequestImpl.java
index fd81ff0..acf2a0b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGSSAPISASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGSSAPISASLBindRequestImpl.java
@@ -23,21 +23,23 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
 import javax.security.auth.Subject;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
-
 import com.forgerock.opendj.util.StaticUtils;
 
+
+
 /**
  * Unmodifiable GSSAPI SASL bind request implementation.
  */
@@ -45,135 +47,193 @@
     AbstractUnmodifiableSASLBindRequest<GSSAPISASLBindRequest> implements
     GSSAPISASLBindRequest
 {
-  UnmodifiableGSSAPISASLBindRequestImpl(GSSAPISASLBindRequest impl) {
+  UnmodifiableGSSAPISASLBindRequestImpl(GSSAPISASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest addAdditionalAuthParam(String name, String value)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
-  public Map<String, String> getAdditionalAuthParams() {
+  public Map<String, String> getAdditionalAuthParams()
+  {
     return Collections.unmodifiableMap(impl.getAdditionalAuthParams());
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest addQOP(String... qopValues)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
-  public String getAuthenticationID() {
+  public String getAuthenticationID()
+  {
     return impl.getAuthenticationID();
   }
 
+
+
   @Override
-  public String getAuthorizationID() {
+  public String getAuthorizationID()
+  {
     return impl.getAuthorizationID();
   }
 
+
+
   @Override
-  public String getKDCAddress() {
+  public String getKDCAddress()
+  {
     return impl.getKDCAddress();
   }
 
+
+
   @Override
-  public int getMaxReceiveBufferSize() {
+  public int getMaxReceiveBufferSize()
+  {
     return impl.getMaxReceiveBufferSize();
   }
 
+
+
   @Override
-  public int getMaxSendBufferSize() {
+  public int getMaxSendBufferSize()
+  {
     return impl.getMaxSendBufferSize();
   }
 
+
+
   @Override
-  public byte[] getPassword() {
+  public byte[] getPassword()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getPassword());
   }
 
+
+
   @Override
-  public List<String> getQOPs() {
+  public List<String> getQOPs()
+  {
     return Collections.unmodifiableList(impl.getQOPs());
   }
 
+
+
   @Override
-  public String getRealm() {
+  public String getRealm()
+  {
     return impl.getRealm();
   }
 
+
+
   @Override
-  public Subject getSubject() {
+  public Subject getSubject()
+  {
     return impl.getSubject();
   }
 
+
+
   @Override
-  public boolean isServerAuth() {
+  public boolean isServerAuth()
+  {
     return impl.isServerAuth();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setAuthenticationID(String authenticationID)
-      throws LocalizedIllegalArgumentException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setKDCAddress(String address)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setMaxReceiveBufferSize(int size)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setMaxSendBufferSize(int size)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setRealm(String realm)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setServerAuth(boolean serverAuth)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GSSAPISASLBindRequest setSubject(Subject subject)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericBindRequestImpl.java
index 85cbdc5..df9729a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -37,31 +37,41 @@
 /**
  * Unmodifiable generic bind request implementation.
  */
-final class UnmodifiableGenericBindRequestImpl
-    extends AbstractUnmodifiableBindRequest<GenericBindRequest>
-    implements GenericBindRequest
+final class UnmodifiableGenericBindRequestImpl extends
+    AbstractUnmodifiableBindRequest<GenericBindRequest> implements
+    GenericBindRequest
 {
-  UnmodifiableGenericBindRequestImpl(GenericBindRequest impl) {
+  UnmodifiableGenericBindRequestImpl(GenericBindRequest impl)
+  {
     super(impl);
   }
 
-  public byte[] getAuthenticationValue() {
+
+
+  public byte[] getAuthenticationValue()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getAuthenticationValue());
   }
 
+
+
   public GenericBindRequest setAuthenticationType(byte type)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public GenericBindRequest setAuthenticationValue(byte[] bytes)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public GenericBindRequest setName(String name)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericExtendedRequestImpl.java
index ee11cc9..5dc98d1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableGenericExtendedRequestImpl.java
@@ -23,32 +23,42 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.responses.GenericExtendedResult;
 
+
+
 /**
  * Unmodifiable generic extended request implementation.
  */
 final class UnmodifiableGenericExtendedRequestImpl
-    extends AbstractUnmodifiableExtendedRequest
-    <GenericExtendedRequest, GenericExtendedResult>
+    extends
+    AbstractUnmodifiableExtendedRequest<GenericExtendedRequest, GenericExtendedResult>
     implements GenericExtendedRequest
 {
-  UnmodifiableGenericExtendedRequestImpl(GenericExtendedRequest impl) {
+  UnmodifiableGenericExtendedRequestImpl(GenericExtendedRequest impl)
+  {
     super(impl);
   }
 
+
+
   public GenericExtendedRequest setOID(String oid)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public GenericExtendedRequest setValue(ByteString bytes)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyDNRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyDNRequestImpl.java
index b16c6f9..8745ee2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyDNRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyDNRequestImpl.java
@@ -23,81 +23,111 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
+
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.RDN;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
+
+
 /**
  * Unmodifiable modify DN request implementation.
  */
-final class UnmodifiableModifyDNRequestImpl
-    extends AbstractUnmodifiableRequest<ModifyDNRequest>
-    implements ModifyDNRequest
+final class UnmodifiableModifyDNRequestImpl extends
+    AbstractUnmodifiableRequest<ModifyDNRequest> implements ModifyDNRequest
 {
-  UnmodifiableModifyDNRequestImpl(ModifyDNRequest impl) {
+  UnmodifiableModifyDNRequestImpl(ModifyDNRequest impl)
+  {
     super(impl);
   }
 
-  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p) {
+
+
+  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p)
+  {
     return v.visitChangeRecord(p, this);
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
-  public RDN getNewRDN() {
+
+
+  public RDN getNewRDN()
+  {
     return impl.getNewRDN();
   }
 
-  public DN getNewSuperior() {
+
+
+  public DN getNewSuperior()
+  {
     return impl.getNewSuperior();
   }
 
-  public boolean isDeleteOldRDN() {
+
+
+  public boolean isDeleteOldRDN()
+  {
     return impl.isDeleteOldRDN();
   }
 
+
+
   public ModifyDNRequest setDeleteOldRDN(boolean deleteOldRDN)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setNewRDN(RDN rdn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setNewRDN(String rdn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setNewSuperior(DN dn)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyDNRequest setNewSuperior(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
index 713a5c2..d913fcd 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableModifyRequestImpl.java
@@ -23,14 +23,16 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collections;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldif.ChangeRecordVisitor;
 
@@ -38,39 +40,48 @@
 import com.forgerock.opendj.util.Function;
 import com.forgerock.opendj.util.Functions;
 
+
+
 /**
  * Unmodifiable modify request implementation.
  */
-final class UnmodifiableModifyRequestImpl
-    extends AbstractUnmodifiableRequest<ModifyRequest>
-    implements ModifyRequest
+final class UnmodifiableModifyRequestImpl extends
+    AbstractUnmodifiableRequest<ModifyRequest> implements ModifyRequest
 {
-  UnmodifiableModifyRequestImpl(ModifyRequest impl) {
+  UnmodifiableModifyRequestImpl(ModifyRequest impl)
+  {
     super(impl);
   }
 
-  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p) {
+
+
+  public <R, P> R accept(ChangeRecordVisitor<R, P> v, P p)
+  {
     return v.visitChangeRecord(p, this);
   }
 
+
+
   public ModifyRequest addModification(Modification modification)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyRequest addModification(ModificationType type,
-                                       String attributeDescription,
-                                       Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      String attributeDescription, Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public List<Modification> getModifications()
   {
     // We need to make all attributes unmodifiable as well.
     Function<Modification, Modification, Void> function =
-      new Function<Modification, Modification, Void>()
+        new Function<Modification, Modification, Void>()
     {
 
       public Modification apply(Modification value, Void p)
@@ -83,24 +94,30 @@
 
     };
 
-    List<Modification> unmodifiableModifications = Collections2.transformedList(
-        impl.getModifications(), function,
-        Functions.<Modification> identityFunction());
+    List<Modification> unmodifiableModifications = Collections2
+        .transformedList(impl.getModifications(), function,
+            Functions.<Modification> identityFunction());
     return Collections.unmodifiableList(unmodifiableModifications);
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
+
+
   public ModifyRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public ModifyRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePasswordModifyExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePasswordModifyExtendedRequestImpl.java
index 606b315..bd2347e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePasswordModifyExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePasswordModifyExtendedRequestImpl.java
@@ -27,62 +27,94 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.responses.PasswordModifyExtendedResult;
 
+
+
 /**
  * Unmodifiable password modify extended request implementation.
  */
 final class UnmodifiablePasswordModifyExtendedRequestImpl
-    extends AbstractUnmodifiableExtendedRequest
-    <PasswordModifyExtendedRequest, PasswordModifyExtendedResult>
+    extends
+    AbstractUnmodifiableExtendedRequest<PasswordModifyExtendedRequest, PasswordModifyExtendedResult>
     implements PasswordModifyExtendedRequest
 {
   UnmodifiablePasswordModifyExtendedRequestImpl(
-      PasswordModifyExtendedRequest impl) {
+      PasswordModifyExtendedRequest impl)
+  {
     super(impl);
   }
 
-  public ByteString getNewPassword() {
+
+
+  public ByteString getNewPassword()
+  {
     return impl.getNewPassword();
   }
 
-  public ByteString getOldPassword() {
+
+
+  public ByteString getOldPassword()
+  {
     return impl.getOldPassword();
   }
 
-  public ByteString getUserIdentity() {
+
+
+  public ByteString getUserIdentity()
+  {
     return impl.getUserIdentity();
   }
 
-  public String getUserIdentityAsString() {
+
+
+  public String getUserIdentityAsString()
+  {
     return impl.getUserIdentityAsString();
   }
 
+
+
   public PasswordModifyExtendedRequest setNewPassword(ByteString newPassword)
   {
     throw new UnsupportedOperationException();
   }
 
-  public PasswordModifyExtendedRequest setNewPassword(char[] newPassword) {
+
+
+  public PasswordModifyExtendedRequest setNewPassword(char[] newPassword)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public PasswordModifyExtendedRequest setOldPassword(ByteString oldPassword)
   {
     throw new UnsupportedOperationException();
   }
 
-  public PasswordModifyExtendedRequest setOldPassword(char[] oldPassword) {
+
+
+  public PasswordModifyExtendedRequest setOldPassword(char[] oldPassword)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public PasswordModifyExtendedRequest setUserIdentity(
-      ByteString userIdentity) {
+
+
+  public PasswordModifyExtendedRequest setUserIdentity(ByteString userIdentity)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public PasswordModifyExtendedRequest setUserIdentity(String userIdentity) {
+
+
+  public PasswordModifyExtendedRequest setUserIdentity(String userIdentity)
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePlainSASLBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePlainSASLBindRequestImpl.java
index 421614f..86eb8be 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePlainSASLBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiablePlainSASLBindRequestImpl.java
@@ -23,15 +23,17 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
 
 import com.forgerock.opendj.util.StaticUtils;
 
+
+
 /**
  * Unmodifiable plain SASL bind request implementation.
  */
@@ -39,48 +41,65 @@
     AbstractUnmodifiableSASLBindRequest<PlainSASLBindRequest> implements
     PlainSASLBindRequest
 {
-  UnmodifiablePlainSASLBindRequestImpl(PlainSASLBindRequest impl) {
+  UnmodifiablePlainSASLBindRequestImpl(PlainSASLBindRequest impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public String getAuthenticationID() {
+  public String getAuthenticationID()
+  {
     return impl.getAuthenticationID();
   }
 
+
+
   @Override
-  public String getAuthorizationID() {
+  public String getAuthorizationID()
+  {
     return impl.getAuthorizationID();
   }
 
+
+
   @Override
-  public byte[] getPassword() {
+  public byte[] getPassword()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getPassword());
   }
 
+
+
   @Override
   public PlainSASLBindRequest setAuthenticationID(String authenticationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException,
-      NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public PlainSASLBindRequest setAuthorizationID(String authorizationID)
-      throws UnsupportedOperationException, LocalizedIllegalArgumentException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public PlainSASLBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public PlainSASLBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSearchRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSearchRequestImpl.java
index 0771c8a..25e7aa3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSearchRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSearchRequestImpl.java
@@ -23,114 +23,158 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collections;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.DereferenceAliasesPolicy;
 import org.forgerock.opendj.ldap.Filter;
 import org.forgerock.opendj.ldap.SearchScope;
 
+
+
 /**
  * Unmodifiable search request implementation.
  */
-final class UnmodifiableSearchRequestImpl
-    extends AbstractUnmodifiableRequest<SearchRequest>
-    implements SearchRequest
+final class UnmodifiableSearchRequestImpl extends
+    AbstractUnmodifiableRequest<SearchRequest> implements SearchRequest
 {
-  UnmodifiableSearchRequestImpl(SearchRequest impl) {
+  UnmodifiableSearchRequestImpl(SearchRequest impl)
+  {
     super(impl);
   }
 
+
+
   public SearchRequest addAttribute(String... attributeDescriptions)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
-  public List<String> getAttributes() {
+
+
+  public List<String> getAttributes()
+  {
     return Collections.unmodifiableList(impl.getAttributes());
   }
 
-  public DereferenceAliasesPolicy getDereferenceAliasesPolicy() {
+
+
+  public DereferenceAliasesPolicy getDereferenceAliasesPolicy()
+  {
     return impl.getDereferenceAliasesPolicy();
   }
 
-  public Filter getFilter() {
+
+
+  public Filter getFilter()
+  {
     return impl.getFilter();
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
-  public SearchScope getScope() {
+
+
+  public SearchScope getScope()
+  {
     return impl.getScope();
   }
 
-  public int getSizeLimit() {
+
+
+  public int getSizeLimit()
+  {
     return impl.getSizeLimit();
   }
 
-  public int getTimeLimit() {
+
+
+  public int getTimeLimit()
+  {
     return impl.getTimeLimit();
   }
 
-  public boolean isTypesOnly() {
+
+
+  public boolean isTypesOnly()
+  {
     return impl.isTypesOnly();
   }
 
+
+
   public SearchRequest setDereferenceAliasesPolicy(
       DereferenceAliasesPolicy policy)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setFilter(Filter filter)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setFilter(String filter)
-      throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setScope(SearchScope scope)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setSizeLimit(int limit)
-      throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setTimeLimit(int limit)
-      throws UnsupportedOperationException,
-      LocalizedIllegalArgumentException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchRequest setTypesOnly(boolean typesOnly)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSimpleBindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSimpleBindRequestImpl.java
index d78a0ee..e802d42 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSimpleBindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableSimpleBindRequestImpl.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -37,31 +37,41 @@
 /**
  * Unmodifiable simple bind request implementation.
  */
-final class UnmodifiableSimpleBindRequestImpl
-    extends AbstractUnmodifiableBindRequest<SimpleBindRequest>
-    implements SimpleBindRequest
+final class UnmodifiableSimpleBindRequestImpl extends
+    AbstractUnmodifiableBindRequest<SimpleBindRequest> implements
+    SimpleBindRequest
 {
-  UnmodifiableSimpleBindRequestImpl(SimpleBindRequest impl) {
+  UnmodifiableSimpleBindRequestImpl(SimpleBindRequest impl)
+  {
     super(impl);
   }
 
-  public byte[] getPassword() {
+
+
+  public byte[] getPassword()
+  {
     // Defensive copy.
     return StaticUtils.copyOfBytes(impl.getPassword());
   }
 
+
+
   public SimpleBindRequest setName(String name)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SimpleBindRequest setPassword(byte[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SimpleBindRequest setPassword(char[] password)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableStartTLSExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableStartTLSExtendedRequestImpl.java
index c6d0e0f..8b1241a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableStartTLSExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableStartTLSExtendedRequestImpl.java
@@ -27,6 +27,8 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import java.util.Collections;
 import java.util.List;
 
@@ -34,39 +36,60 @@
 
 import org.forgerock.opendj.ldap.responses.ExtendedResult;
 
+
+
 /**
  * Unmodifiable start TLS extended request implementation.
  */
 final class UnmodifiableStartTLSExtendedRequestImpl
-    extends AbstractUnmodifiableExtendedRequest
-    <StartTLSExtendedRequest, ExtendedResult>
+    extends
+    AbstractUnmodifiableExtendedRequest<StartTLSExtendedRequest, ExtendedResult>
     implements StartTLSExtendedRequest
 {
-  UnmodifiableStartTLSExtendedRequestImpl(StartTLSExtendedRequest impl) {
+  UnmodifiableStartTLSExtendedRequestImpl(StartTLSExtendedRequest impl)
+  {
     super(impl);
   }
 
-  public SSLContext getSSLContext() {
+
+
+  public SSLContext getSSLContext()
+  {
     return impl.getSSLContext();
   }
 
-  public StartTLSExtendedRequest addEnabledProtocol(String... protocols) {
+
+
+  public StartTLSExtendedRequest addEnabledProtocol(String... protocols)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public StartTLSExtendedRequest addEnabledCipherSuite(String... suites) {
+
+
+  public StartTLSExtendedRequest addEnabledCipherSuite(String... suites)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public List<String> getEnabledProtocols() {
+
+
+  public List<String> getEnabledProtocols()
+  {
     return Collections.unmodifiableList(impl.getEnabledProtocols());
   }
 
-  public List<String> getEnabledCipherSuites() {
+
+
+  public List<String> getEnabledCipherSuites()
+  {
     return Collections.unmodifiableList(impl.getEnabledCipherSuites());
   }
 
-  public StartTLSExtendedRequest setSSLContext(SSLContext sslContext) {
+
+
+  public StartTLSExtendedRequest setSSLContext(SSLContext sslContext)
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableUnbindRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableUnbindRequestImpl.java
index ba97ff8..23fb678 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableUnbindRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableUnbindRequestImpl.java
@@ -27,14 +27,16 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 /**
  * Unmodifiable unbind request implementation.
  */
-final class UnmodifiableUnbindRequestImpl
-    extends AbstractUnmodifiableRequest<UnbindRequest>
-    implements UnbindRequest
+final class UnmodifiableUnbindRequestImpl extends
+    AbstractUnmodifiableRequest<UnbindRequest> implements UnbindRequest
 {
-  UnmodifiableUnbindRequestImpl(UnbindRequest impl) {
+  UnmodifiableUnbindRequestImpl(UnbindRequest impl)
+  {
     super(impl);
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableWhoAmIExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableWhoAmIExtendedRequestImpl.java
index e8921e1..753006e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableWhoAmIExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/UnmodifiableWhoAmIExtendedRequestImpl.java
@@ -27,17 +27,22 @@
 
 package org.forgerock.opendj.ldap.requests;
 
+
+
 import org.forgerock.opendj.ldap.responses.WhoAmIExtendedResult;
 
+
+
 /**
  * Unmodifiable Who Am I extended request implementation.
  */
 final class UnmodifiableWhoAmIExtendedRequestImpl
-    extends AbstractUnmodifiableExtendedRequest
-    <WhoAmIExtendedRequest, WhoAmIExtendedResult>
+    extends
+    AbstractUnmodifiableExtendedRequest<WhoAmIExtendedRequest, WhoAmIExtendedResult>
     implements WhoAmIExtendedRequest
 {
-  UnmodifiableWhoAmIExtendedRequestImpl(WhoAmIExtendedRequest impl) {
+  UnmodifiableWhoAmIExtendedRequestImpl(WhoAmIExtendedRequest impl)
+  {
     super(impl);
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequest.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequest.java
index 46251a4..b8b6ac6 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequest.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequest.java
@@ -85,8 +85,7 @@
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedRequest addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  WhoAmIExtendedRequest addControl(Control control);
 
 
 
@@ -94,7 +93,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequestImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequestImpl.java
index d9ca4f3..1df093a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequestImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/requests/WhoAmIExtendedRequestImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.requests;
@@ -145,7 +146,6 @@
    */
   WhoAmIExtendedRequestImpl(
       final WhoAmIExtendedRequest whoAmIExtendedRequest)
-      throws NullPointerException
   {
     super(whoAmIExtendedRequest);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResult.java
index 090332f..0a68fd3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -56,7 +57,6 @@
    *           If {@code resultCode} was {@code null}.
    */
   protected AbstractExtendedResult(final ResultCode resultCode)
-      throws NullPointerException
   {
     super(resultCode);
   }
@@ -73,7 +73,6 @@
    *           If {@code extendedResult} was {@code null} .
    */
   protected AbstractExtendedResult(ExtendedResult extendedResult)
-      throws NullPointerException
   {
     super(extendedResult);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
index 07b19b6..44fae48 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractExtendedResultDecoder.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -62,7 +63,6 @@
    */
   @Override
   public S adaptDecodeException(final DecodeException exception)
-      throws NullPointerException
   {
     final S adaptedResult = newExtendedErrorResult(ResultCode.PROTOCOL_ERROR,
         "", exception.getMessage());
@@ -132,6 +132,6 @@
    */
   @Override
   public abstract S newExtendedErrorResult(ResultCode resultCode,
-      String matchedDN, String diagnosticMessage) throws NullPointerException;
+      String matchedDN, String diagnosticMessage);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractIntermediateResponse.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractIntermediateResponse.java
index 5234b4a..206848e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractIntermediateResponse.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractIntermediateResponse.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -67,7 +68,6 @@
    */
   protected AbstractIntermediateResponse(
       IntermediateResponse intermediateResponse)
-      throws NullPointerException
   {
     super(intermediateResponse);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResponseImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResponseImpl.java
index 397d54c..a85dc17 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResponseImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResponseImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -72,7 +73,7 @@
    * @throws NullPointerException
    *           If {@code response} was {@code null} .
    */
-  AbstractResponseImpl(Response response) throws NullPointerException
+  AbstractResponseImpl(Response response)
   {
     Validator.ensureNotNull(response);
     for (Control control : response.getControls())
@@ -87,7 +88,7 @@
   /**
    * {@inheritDoc}
    */
-  public final S addControl(final Control control) throws NullPointerException
+  public final S addControl(final Control control)
   {
     Validator.ensureNotNull(control);
     controls.add(control);
@@ -101,7 +102,7 @@
    */
   public final <C extends Control> C getControl(
       final ControlDecoder<C> decoder, final DecodeOptions options)
-      throws NullPointerException, DecodeException
+      throws DecodeException
   {
     Validator.ensureNotNull(decoder, options);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResultImpl.java
index f9059d7..5958591 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -69,7 +70,7 @@
    * @throws NullPointerException
    *           If {@code resultCode} was {@code null}.
    */
-  AbstractResultImpl(final ResultCode resultCode) throws NullPointerException
+  AbstractResultImpl(final ResultCode resultCode)
   {
     this.resultCode = resultCode;
   }
@@ -85,7 +86,7 @@
    * @throws NullPointerException
    *           If {@code result} was {@code null}.
    */
-  AbstractResultImpl(Result result) throws NullPointerException
+  AbstractResultImpl(Result result)
   {
     super(result);
     this.cause = result.getCause();
@@ -100,7 +101,7 @@
   /**
    * {@inheritDoc}
    */
-  public final S addReferralURI(final String uri) throws NullPointerException
+  public final S addReferralURI(final String uri)
   {
     Validator.ensureNotNull(uri);
 
@@ -235,7 +236,6 @@
    * {@inheritDoc}
    */
   public final S setResultCode(final ResultCode resultCode)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resultCode);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
index 87d8062..21eaf72 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResponseImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -78,7 +79,6 @@
    */
   @Override
   public final S addControl(final Control control)
-      throws UnsupportedOperationException, NullPointerException
   {
     throw new UnsupportedOperationException();
   }
@@ -91,7 +91,7 @@
   @Override
   public final <C extends Control> C getControl(
       final ControlDecoder<C> decoder, final DecodeOptions options)
-      throws NullPointerException, DecodeException
+      throws DecodeException
   {
     Validator.ensureNotNull(decoder, options);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResultImpl.java
index 0e22cb2..f382a6a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/AbstractUnmodifiableResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -60,7 +61,6 @@
 
 
   public final S addReferralURI(final String uri)
-      throws UnsupportedOperationException, NullPointerException
   {
     throw new UnsupportedOperationException();
   }
@@ -117,7 +117,6 @@
 
 
   public final S setCause(final Throwable cause)
-      throws UnsupportedOperationException
   {
     throw new UnsupportedOperationException();
   }
@@ -125,7 +124,6 @@
 
 
   public final S setDiagnosticMessage(final String message)
-      throws UnsupportedOperationException
   {
     throw new UnsupportedOperationException();
   }
@@ -133,7 +131,6 @@
 
 
   public final S setMatchedDN(final String dn)
-      throws UnsupportedOperationException
   {
     throw new UnsupportedOperationException();
   }
@@ -141,7 +138,6 @@
 
 
   public final S setResultCode(final ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException
   {
     throw new UnsupportedOperationException();
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResult.java
index c7105c2..f6e5ed5 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -65,16 +66,14 @@
   /**
    * {@inheritDoc}
    */
-  BindResult addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  BindResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  BindResult addReferralURI(String uri) throws UnsupportedOperationException,
-      NullPointerException;
+  BindResult addReferralURI(String uri);
 
 
 
@@ -89,7 +88,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -171,30 +170,28 @@
   /**
    * {@inheritDoc}
    */
-  BindResult setCause(Throwable cause) throws UnsupportedOperationException;
+  BindResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  BindResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  BindResult setDiagnosticMessage(String message);
 
 
 
   /**
    * {@inheritDoc}
    */
-  BindResult setMatchedDN(String dn) throws UnsupportedOperationException;
+  BindResult setMatchedDN(String dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  BindResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  BindResult setResultCode(ResultCode resultCode);
 
 
 
@@ -209,7 +206,6 @@
    *           If this bind result does not permit the server SASL credentials
    *           to be set.
    */
-  BindResult setServerSASLCredentials(ByteString credentials)
-      throws UnsupportedOperationException;
+  BindResult setServerSASLCredentials(ByteString credentials);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResultImpl.java
index de4bc01..753cf7a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/BindResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -52,7 +53,7 @@
    * @throws NullPointerException
    *           If {@code resultCode} was {@code null}.
    */
-  BindResultImpl(final ResultCode resultCode) throws NullPointerException
+  BindResultImpl(final ResultCode resultCode)
   {
     super(resultCode);
   }
@@ -69,7 +70,6 @@
    *           If {@code bindResult} was {@code null} .
    */
   BindResultImpl(final BindResult bindResult)
-      throws NullPointerException
   {
     super(bindResult);
     this.credentials = bindResult.getServerSASLCredentials();
@@ -102,7 +102,6 @@
    * {@inheritDoc}
    */
   public BindResult setServerSASLCredentials(final ByteString credentials)
-      throws UnsupportedOperationException
   {
     this.credentials = credentials;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResult.java
index 59d5886..e1a2775 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 package org.forgerock.opendj.ldap.responses;
 
@@ -51,16 +52,14 @@
   /**
    * {@inheritDoc}
    */
-  CompareResult addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  CompareResult addReferralURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareResult addReferralURI(String uri);
 
 
 
@@ -75,7 +74,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -146,29 +145,27 @@
   /**
    * {@inheritDoc}
    */
-  CompareResult setCause(Throwable cause) throws UnsupportedOperationException;
+  CompareResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  CompareResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  CompareResult setDiagnosticMessage(String message);
 
 
 
   /**
    * {@inheritDoc}
    */
-  CompareResult setMatchedDN(String dn) throws UnsupportedOperationException;
+  CompareResult setMatchedDN(String dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  CompareResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  CompareResult setResultCode(ResultCode resultCode);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResultImpl.java
index 1944c45..0b72ad8 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/CompareResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -48,7 +49,7 @@
    * @throws NullPointerException
    *           If {@code resultCode} was {@code null}.
    */
-  CompareResultImpl(final ResultCode resultCode) throws NullPointerException
+  CompareResultImpl(final ResultCode resultCode)
   {
     super(resultCode);
   }
@@ -65,7 +66,6 @@
    *           If {@code compareResult} was {@code null} .
    */
   CompareResultImpl(final CompareResult compareResult)
-      throws NullPointerException
   {
     super(compareResult);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResult.java
index daaf2d2..74ce87a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -51,16 +52,14 @@
   /**
    * {@inheritDoc}
    */
-  ExtendedResult addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  ExtendedResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  ExtendedResult addReferralURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  ExtendedResult addReferralURI(String uri);
 
 
 
@@ -75,7 +74,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -165,28 +164,26 @@
   /**
    * {@inheritDoc}
    */
-  ExtendedResult setCause(Throwable cause) throws UnsupportedOperationException;
+  ExtendedResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  ExtendedResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  ExtendedResult setDiagnosticMessage(String message);
 
 
 
   /**
    * {@inheritDoc}
    */
-  ExtendedResult setMatchedDN(String dn) throws UnsupportedOperationException;
+  ExtendedResult setMatchedDN(String dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  ExtendedResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  ExtendedResult setResultCode(ResultCode resultCode);
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
index 5aa2ceb..fc9e31b 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ExtendedResultDecoder.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -60,7 +61,7 @@
    * @throws NullPointerException
    *           If {@code exception} was {@code null}.
    */
-  S adaptDecodeException(DecodeException exception) throws NullPointerException;
+  S adaptDecodeException(DecodeException exception);
 
 
 
@@ -129,6 +130,6 @@
    *           {@code diagnosticMessage} were {@code null}.
    */
   S newExtendedErrorResult(ResultCode resultCode, String matchedDN,
-      String diagnosticMessage) throws NullPointerException;
+      String diagnosticMessage);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResult.java
index aa4e315..30b06ab 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -49,16 +50,14 @@
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericExtendedResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult addReferralURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericExtendedResult addReferralURI(String uri);
 
 
 
@@ -73,7 +72,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -150,24 +149,21 @@
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult setCause(Throwable cause)
-      throws UnsupportedOperationException;
+  GenericExtendedResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  GenericExtendedResult setDiagnosticMessage(String message);
 
 
 
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult setMatchedDN(String dn)
-      throws UnsupportedOperationException;
+  GenericExtendedResult setMatchedDN(String dn);
 
 
 
@@ -182,15 +178,14 @@
    *           If this generic extended result does not permit the result name
    *           to be set.
    */
-  GenericExtendedResult setOID(String oid) throws UnsupportedOperationException;
+  GenericExtendedResult setOID(String oid);
 
 
 
   /**
    * {@inheritDoc}
    */
-  GenericExtendedResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericExtendedResult setResultCode(ResultCode resultCode);
 
 
 
@@ -206,7 +201,6 @@
    *           If this generic extended result does not permit the result value
    *           to be set.
    */
-  GenericExtendedResult setValue(ByteString bytes)
-      throws UnsupportedOperationException;
+  GenericExtendedResult setValue(ByteString bytes);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResultImpl.java
index 8c3d438..2d54eb2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericExtendedResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -59,7 +60,6 @@
    *           If {@code resultCode} was {@code null}.
    */
   GenericExtendedResultImpl(final ResultCode resultCode)
-      throws NullPointerException
   {
     super(resultCode);
   }
@@ -76,7 +76,6 @@
    *           If {@code genericExtendedResult} was {@code null} .
    */
   GenericExtendedResultImpl(final GenericExtendedResult genericExtendedResult)
-      throws NullPointerException
   {
     super(genericExtendedResult);
     this.responseName = genericExtendedResult.getOID();
@@ -119,7 +118,6 @@
    * {@inheritDoc}
    */
   public GenericExtendedResult setOID(final String oid)
-      throws UnsupportedOperationException
   {
     this.responseName = oid;
     return this;
@@ -131,7 +129,6 @@
    * {@inheritDoc}
    */
   public GenericExtendedResult setValue(final ByteString bytes)
-      throws UnsupportedOperationException
   {
     this.responseValue = bytes;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponse.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponse.java
index 212250b..8891242 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponse.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponse.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -48,8 +49,7 @@
   /**
    * {@inheritDoc}
    */
-  GenericIntermediateResponse addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  GenericIntermediateResponse addControl(Control control);
 
 
 
@@ -57,7 +57,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -100,8 +100,7 @@
    *           If this intermediate response does not permit the response name
    *           to be set.
    */
-  GenericIntermediateResponse setOID(String oid)
-      throws UnsupportedOperationException;
+  GenericIntermediateResponse setOID(String oid);
 
 
 
@@ -117,7 +116,6 @@
    *           If this intermediate response does not permit the response value
    *           to be set.
    */
-  GenericIntermediateResponse setValue(ByteString bytes)
-      throws UnsupportedOperationException;
+  GenericIntermediateResponse setValue(ByteString bytes);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponseImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponseImpl.java
index ddc5bb6..89a13c2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponseImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/GenericIntermediateResponseImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -82,7 +83,6 @@
    */
   GenericIntermediateResponseImpl(
       final GenericIntermediateResponse genericIntermediateResponse)
-      throws NullPointerException
   {
     super(genericIntermediateResponse);
     this.responseName = genericIntermediateResponse.getOID();
@@ -128,7 +128,6 @@
    * {@inheritDoc}
    */
   public GenericIntermediateResponse setOID(final String oid)
-      throws UnsupportedOperationException
   {
     this.responseName = oid;
     return this;
@@ -140,7 +139,6 @@
    * {@inheritDoc}
    */
   public GenericIntermediateResponse setValue(final ByteString bytes)
-      throws UnsupportedOperationException
   {
     this.responseValue = bytes;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/IntermediateResponse.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/IntermediateResponse.java
index 564c044..3e9e448 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/IntermediateResponse.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/IntermediateResponse.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -56,8 +57,7 @@
   /**
    * {@inheritDoc}
    */
-  IntermediateResponse addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  IntermediateResponse addControl(Control control);
 
 
 
@@ -65,7 +65,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResult.java
index f9ca4bf..9aa74a3 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -55,16 +56,14 @@
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  PasswordModifyExtendedResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult addReferralURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  PasswordModifyExtendedResult addReferralURI(String uri);
 
 
 
@@ -79,7 +78,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -167,16 +166,14 @@
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult setCause(Throwable cause)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedResult setDiagnosticMessage(String message);
 
 
 
@@ -191,8 +188,7 @@
    *           If this password modify extended result does not permit the
    *           generated password to be set.
    */
-  PasswordModifyExtendedResult setGeneratedPassword(ByteString password)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedResult setGeneratedPassword(ByteString password);
 
 
 
@@ -208,23 +204,20 @@
    *           If this password modify extended result does not permit the
    *           generated password to be set.
    */
-  PasswordModifyExtendedResult setGeneratedPassword(char[] password)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedResult setGeneratedPassword(char[] password);
 
 
 
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult setMatchedDN(String dn)
-      throws UnsupportedOperationException;
+  PasswordModifyExtendedResult setMatchedDN(String dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  PasswordModifyExtendedResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  PasswordModifyExtendedResult setResultCode(ResultCode resultCode);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResultImpl.java
index 9149d7e..6c6dbd2 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/PasswordModifyExtendedResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -76,7 +77,6 @@
    */
   PasswordModifyExtendedResultImpl(
       final PasswordModifyExtendedResult passwordModifyExtendedResult)
-      throws NullPointerException
   {
     super(passwordModifyExtendedResult);
     this.password = passwordModifyExtendedResult.getGeneratedPassword();
@@ -152,7 +152,7 @@
    * {@inheritDoc}
    */
   public PasswordModifyExtendedResult setGeneratedPassword(
-      final ByteString password) throws UnsupportedOperationException
+      final ByteString password)
   {
     this.password = password;
     return this;
@@ -164,7 +164,7 @@
    * {@inheritDoc}
    */
   public PasswordModifyExtendedResult setGeneratedPassword(
-      final char[] password) throws UnsupportedOperationException
+      final char[] password)
   {
     this.password = (password != null) ? ByteString.valueOf(password) : null;
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Response.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Response.java
index 6f285d4..f0f671c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Response.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Response.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -41,8 +42,6 @@
 /**
  * The base class of all Responses provides methods for querying and
  * manipulating the set of Controls included with a Response.
- * <p>
- * TODO: added complete description including sub-types.
  */
 public interface Response
 {
@@ -58,8 +57,7 @@
    * @throws NullPointerException
    *           If {@code control} was {@code null}.
    */
-  Response addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  Response addControl(Control control);
 
 
 
@@ -84,7 +82,7 @@
    *           If {@code decoder} or {@code options} was {@code null}.
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Responses.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Responses.java
index 4ffdf29..2d282c9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Responses.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Responses.java
@@ -23,13 +23,14 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.*;
 
 import com.forgerock.opendj.util.Validator;
@@ -67,7 +68,6 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static BindResult newBindResult(final ResultCode resultCode)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resultCode);
     return new BindResultImpl(resultCode);
@@ -85,7 +85,6 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static CompareResult newCompareResult(final ResultCode resultCode)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resultCode);
     return new CompareResultImpl(resultCode);
@@ -103,7 +102,7 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static GenericExtendedResult newGenericExtendedResult(
-      final ResultCode resultCode) throws NullPointerException
+      final ResultCode resultCode)
   {
     Validator.ensureNotNull(resultCode);
     return new GenericExtendedResultImpl(resultCode);
@@ -156,7 +155,7 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static PasswordModifyExtendedResult newPasswordModifyExtendedResult(
-      final ResultCode resultCode) throws NullPointerException
+      final ResultCode resultCode)
   {
     Validator.ensureNotNull(resultCode);
     return new PasswordModifyExtendedResultImpl(resultCode);
@@ -174,7 +173,6 @@
    *           If {@code resultCode} was {@code null}.
    */
   public static Result newResult(final ResultCode resultCode)
-      throws NullPointerException
   {
     Validator.ensureNotNull(resultCode);
     return new ResultImpl(resultCode);
@@ -192,7 +190,6 @@
    *           If {@code name} was {@code null}.
    */
   public static SearchResultEntry newSearchResultEntry(final DN name)
-      throws NullPointerException
   {
     final Entry entry = new LinkedHashMapEntry().setName(name);
     return new SearchResultEntryImpl(entry);
@@ -214,7 +211,6 @@
    *           If {@code entry} was {@code null} .
    */
   public static SearchResultEntry newSearchResultEntry(final Entry entry)
-      throws NullPointerException
   {
     Validator.ensureNotNull(entry);
     return new SearchResultEntryImpl(entry);
@@ -235,7 +231,6 @@
    *           If {@code name} was {@code null}.
    */
   public static SearchResultEntry newSearchResultEntry(final String name)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     final Entry entry = new LinkedHashMapEntry().setName(name);
     return new SearchResultEntryImpl(entry);
@@ -258,8 +253,7 @@
    *           If {@code ldifLines} was {@code null} .
    */
   public static SearchResultEntry newSearchResultEntry(
-      final String... ldifLines) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final String... ldifLines)
   {
     return newSearchResultEntry(new LinkedHashMapEntry(ldifLines));
   }
@@ -278,7 +272,6 @@
    *           If {@code uri} was {@code null}.
    */
   public static SearchResultReference newSearchResultReference(final String uri)
-      throws NullPointerException
   {
     Validator.ensureNotNull(uri);
     return new SearchResultReferenceImpl(uri);
@@ -297,7 +290,7 @@
    *           If {@code resultCode} was {@code null} .
    */
   public static WhoAmIExtendedResult newWhoAmIExtendedResult(
-      final ResultCode resultCode) throws NullPointerException
+      final ResultCode resultCode)
   {
     Validator.ensureNotNull(resultCode);
     return new WhoAmIExtendedResultImpl(ResultCode.SUCCESS);
@@ -315,7 +308,6 @@
    *           If {@code result} was {@code null}.
    */
   public static BindResult unmodifiableBindResult(final BindResult result)
-      throws NullPointerException
   {
     if (result instanceof UnmodifiableBindResultImpl)
     {
@@ -336,7 +328,7 @@
    *           If {@code result} was {@code null}.
    */
   public static CompareResult unmodifiableCompareResult(
-      final CompareResult result) throws NullPointerException
+      final CompareResult result)
   {
     if (result instanceof UnmodifiableCompareResultImpl)
     {
@@ -358,7 +350,7 @@
    *           If {@code result} was {@code null}.
    */
   public static GenericExtendedResult unmodifiableGenericExtendedResult(
-      final GenericExtendedResult result) throws NullPointerException
+      final GenericExtendedResult result)
   {
     if (result instanceof UnmodifiableGenericExtendedResultImpl)
     {
@@ -380,7 +372,7 @@
    *           If {@code response} was {@code null}.
    */
   public static GenericIntermediateResponse unmodifiableGenericIntermediateResponse(
-      final GenericIntermediateResponse response) throws NullPointerException
+      final GenericIntermediateResponse response)
   {
     if (response instanceof UnmodifiableGenericIntermediateResponseImpl)
     {
@@ -402,7 +394,7 @@
    *           If {@code result} was {@code null}.
    */
   public static PasswordModifyExtendedResult unmodifiablePasswordModifyExtendedResult(
-      final PasswordModifyExtendedResult result) throws NullPointerException
+      final PasswordModifyExtendedResult result)
   {
     if (result instanceof UnmodifiablePasswordModifyExtendedResultImpl)
     {
@@ -423,7 +415,6 @@
    *           If {@code result} was {@code null}.
    */
   public static Result unmodifiableResult(final Result result)
-      throws NullPointerException
   {
     if (result instanceof UnmodifiableResultImpl)
     {
@@ -444,7 +435,7 @@
    *           If {@code entry} was {@code null}.
    */
   public static SearchResultEntry unmodifiableSearchResultEntry(
-      final SearchResultEntry entry) throws NullPointerException
+      final SearchResultEntry entry)
   {
     if (entry instanceof UnmodifiableSearchResultEntryImpl)
     {
@@ -466,7 +457,7 @@
    *           If {@code searchResultReference} was {@code null}.
    */
   public static SearchResultReference unmodifiableSearchResultReference(
-      final SearchResultReference reference) throws NullPointerException
+      final SearchResultReference reference)
   {
     if (reference instanceof UnmodifiableSearchResultReferenceImpl)
     {
@@ -488,7 +479,7 @@
    *           If {@code result} was {@code null} .
    */
   public static WhoAmIExtendedResult unmodifiableWhoAmIExtendedResult(
-      final WhoAmIExtendedResult result) throws NullPointerException
+      final WhoAmIExtendedResult result)
   {
     if (result instanceof UnmodifiableSearchResultReferenceImpl)
     {
@@ -509,7 +500,6 @@
    *           If {@code result} was {@code null}.
    */
   public static BindResult copyOfBindResult(final BindResult result)
-      throws NullPointerException
   {
     return new BindResultImpl(result);
   }
@@ -526,7 +516,6 @@
    *           If {@code result} was {@code null}.
    */
   public static CompareResult copyOfCompareResult(final CompareResult result)
-      throws NullPointerException
   {
     return new CompareResultImpl(result);
   }
@@ -544,7 +533,7 @@
    *           If {@code result} was {@code null}.
    */
   public static GenericExtendedResult copyOfGenericExtendedResult(
-      final GenericExtendedResult result) throws NullPointerException
+      final GenericExtendedResult result)
   {
     return new GenericExtendedResultImpl(result);
   }
@@ -562,7 +551,7 @@
    *           If {@code result} was {@code null}.
    */
   public static GenericIntermediateResponse copyOfGenericIntermediateResponse(
-      final GenericIntermediateResponse result) throws NullPointerException
+      final GenericIntermediateResponse result)
   {
     return new GenericIntermediateResponseImpl(result);
   }
@@ -580,7 +569,7 @@
    *           If {@code result} was {@code null}.
    */
   public static PasswordModifyExtendedResult copyOfPasswordModifyExtendedResult(
-      final PasswordModifyExtendedResult result) throws NullPointerException
+      final PasswordModifyExtendedResult result)
   {
     return new PasswordModifyExtendedResultImpl(result);
   }
@@ -597,7 +586,6 @@
    *           If {@code result} was {@code null}.
    */
   public static Result copyOfResult(final Result result)
-      throws NullPointerException
   {
     return new ResultImpl(result);
   }
@@ -615,7 +603,7 @@
    *           If {@code entry} was {@code null}.
    */
   public static SearchResultEntry copyOfSearchResultEntry(
-      final SearchResultEntry entry) throws NullPointerException
+      final SearchResultEntry entry)
   {
     return new SearchResultEntryImpl(entry);
   }
@@ -633,7 +621,7 @@
    *           If {@code reference} was {@code null}.
    */
   public static SearchResultReference copyOfSearchResultReference(
-      final SearchResultReference reference) throws NullPointerException
+      final SearchResultReference reference)
   {
     return new SearchResultReferenceImpl(reference);
   }
@@ -651,7 +639,7 @@
    *           If {@code result} was {@code null} .
    */
   public static WhoAmIExtendedResult copyOfWhoAmIExtendedResult(
-      final WhoAmIExtendedResult result) throws NullPointerException
+      final WhoAmIExtendedResult result)
   {
     return new WhoAmIExtendedResultImpl(result);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Result.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Result.java
index 382d129..31ea921 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Result.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/Result.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -66,8 +67,7 @@
   /**
    * {@inheritDoc}
    */
-  Result addControl(Control control) throws UnsupportedOperationException,
-      NullPointerException;
+  Result addControl(Control control);
 
 
 
@@ -82,8 +82,7 @@
    * @throws NullPointerException
    *           If {@code uri} was {@code null}.
    */
-  Result addReferralURI(String uri) throws UnsupportedOperationException,
-      NullPointerException;
+  Result addReferralURI(String uri);
 
 
 
@@ -102,7 +101,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -189,7 +188,7 @@
    * @throws UnsupportedOperationException
    *           If this result does not permit the cause to be set.
    */
-  Result setCause(Throwable cause) throws UnsupportedOperationException;
+  Result setCause(Throwable cause);
 
 
 
@@ -203,8 +202,7 @@
    * @throws UnsupportedOperationException
    *           If this result does not permit the diagnostic message to be set.
    */
-  Result setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  Result setDiagnosticMessage(String message);
 
 
 
@@ -218,7 +216,7 @@
    * @throws UnsupportedOperationException
    *           If this result does not permit the matched DN to be set.
    */
-  Result setMatchedDN(String dn) throws UnsupportedOperationException;
+  Result setMatchedDN(String dn);
 
 
 
@@ -233,7 +231,6 @@
    * @throws NullPointerException
    *           If {@code resultCode} was {@code null}.
    */
-  Result setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  Result setResultCode(ResultCode resultCode);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ResultImpl.java
index 26c1ad9..67bac11 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/ResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -47,7 +48,7 @@
    * @throws NullPointerException
    *           If {@code resultCode} was {@code null}.
    */
-  ResultImpl(final ResultCode resultCode) throws NullPointerException
+  ResultImpl(final ResultCode resultCode)
   {
     super(resultCode);
   }
@@ -62,7 +63,7 @@
    * @throws NullPointerException
    *           If {@code result} was {@code null} .
    */
-  ResultImpl(final Result result) throws NullPointerException
+  ResultImpl(final Result result)
   {
     super(result);
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntry.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntry.java
index 263f3e7..cc2159d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntry.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntry.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -32,7 +33,6 @@
 import java.util.Collection;
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.controls.Control;
 import org.forgerock.opendj.ldap.controls.ControlDecoder;
@@ -58,8 +58,7 @@
   /**
    * {@inheritDoc}
    */
-  boolean addAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean addAttribute(Attribute attribute);
 
 
 
@@ -67,32 +66,28 @@
    * {@inheritDoc}
    */
   boolean addAttribute(Attribute attribute,
-      Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> duplicateValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchResultEntry addAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  SearchResultEntry addAttribute(String attributeDescription, Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchResultEntry addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchResultEntry addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchResultEntry clearAttributes() throws UnsupportedOperationException;
+  SearchResultEntry clearAttributes();
 
 
 
@@ -100,15 +95,14 @@
    * {@inheritDoc}
    */
   boolean containsAttribute(Attribute attribute,
-      Collection<ByteString> missingValues) throws NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean containsAttribute(String attributeDescription, Object... values)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  boolean containsAttribute(String attributeDescription, Object... values);
 
 
 
@@ -122,32 +116,28 @@
   /**
    * {@inheritDoc}
    */
-  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Iterable<Attribute> getAllAttributes(AttributeDescription attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Iterable<Attribute> getAllAttributes(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Iterable<Attribute> getAllAttributes(String attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Attribute getAttribute(AttributeDescription attributeDescription)
-      throws NullPointerException;
+  Attribute getAttribute(AttributeDescription attributeDescription);
 
 
 
   /**
    * {@inheritDoc}
    */
-  Attribute getAttribute(String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException;
+  Attribute getAttribute(String attributeDescription);
 
 
 
@@ -162,7 +152,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -184,16 +174,14 @@
    * {@inheritDoc}
    */
   boolean removeAttribute(Attribute attribute,
-      Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException;
+      Collection<ByteString> missingValues);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean removeAttribute(AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean removeAttribute(AttributeDescription attributeDescription);
 
 
 
@@ -201,16 +189,14 @@
    * {@inheritDoc}
    */
   SearchResultEntry removeAttribute(String attributeDescription,
-      Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+      Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  boolean replaceAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException;
+  boolean replaceAttribute(Attribute attribute);
 
 
 
@@ -218,24 +204,20 @@
    * {@inheritDoc}
    */
   SearchResultEntry replaceAttribute(String attributeDescription,
-      Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+      Object... values);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchResultEntry setName(DN dn) throws UnsupportedOperationException,
-      NullPointerException;
+  SearchResultEntry setName(DN dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  SearchResultEntry setName(String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException;
+  SearchResultEntry setName(String dn);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntryImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntryImpl.java
index 851d68b..4bbbc33 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntryImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultEntryImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -31,7 +32,6 @@
 
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 
 
@@ -59,7 +59,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null} .
    */
-  SearchResultEntryImpl(final Entry entry) throws NullPointerException
+  SearchResultEntryImpl(final Entry entry)
   {
     this.entry = entry;
   }
@@ -76,7 +76,6 @@
    *           If {@code searchResultEntry} was {@code null} .
    */
   SearchResultEntryImpl(final SearchResultEntry searchResultEntry)
-      throws NullPointerException
   {
     super(searchResultEntry);
     this.entry = LinkedHashMapEntry.deepCopyOfEntry(searchResultEntry);
@@ -88,7 +87,6 @@
    * {@inheritDoc}
    */
   public boolean addAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.addAttribute(attribute);
   }
@@ -100,7 +98,6 @@
    */
   public boolean addAttribute(final Attribute attribute,
       final Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.addAttribute(attribute, duplicateValues);
   }
@@ -111,8 +108,7 @@
    * {@inheritDoc}
    */
   public SearchResultEntry addAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.addAttribute(attributeDescription, values);
     return this;
@@ -124,7 +120,6 @@
    * {@inheritDoc}
    */
   public SearchResultEntry clearAttributes()
-      throws UnsupportedOperationException
   {
     entry.clearAttributes();
     return this;
@@ -136,7 +131,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final Attribute attribute,
-      final Collection<ByteString> missingValues) throws NullPointerException
+      final Collection<ByteString> missingValues)
   {
     return entry.containsAttribute(attribute, missingValues);
   }
@@ -147,8 +142,7 @@
    * {@inheritDoc}
    */
   public boolean containsAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      NullPointerException
+      final Object... values)
   {
     return entry.containsAttribute(attributeDescription, values);
   }
@@ -170,7 +164,6 @@
    */
   public Iterable<Attribute> getAllAttributes(
       final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     return entry.getAllAttributes(attributeDescription);
   }
@@ -181,7 +174,6 @@
    * {@inheritDoc}
    */
   public Iterable<Attribute> getAllAttributes(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return entry.getAllAttributes(attributeDescription);
   }
@@ -192,7 +184,6 @@
    * {@inheritDoc}
    */
   public Attribute getAttribute(final AttributeDescription attributeDescription)
-      throws NullPointerException
   {
     return entry.getAttribute(attributeDescription);
   }
@@ -203,7 +194,6 @@
    * {@inheritDoc}
    */
   public Attribute getAttribute(final String attributeDescription)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     return entry.getAttribute(attributeDescription);
   }
@@ -235,7 +225,6 @@
    */
   public boolean removeAttribute(final Attribute attribute,
       final Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.removeAttribute(attribute, missingValues);
   }
@@ -246,7 +235,6 @@
    * {@inheritDoc}
    */
   public boolean removeAttribute(final AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.removeAttribute(attributeDescription);
   }
@@ -257,8 +245,7 @@
    * {@inheritDoc}
    */
   public SearchResultEntry removeAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.removeAttribute(attributeDescription, values);
     return this;
@@ -270,7 +257,6 @@
    * {@inheritDoc}
    */
   public boolean replaceAttribute(final Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException
   {
     return entry.replaceAttribute(attribute);
   }
@@ -281,8 +267,7 @@
    * {@inheritDoc}
    */
   public SearchResultEntry replaceAttribute(final String attributeDescription,
-      final Object... values) throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException
+      final Object... values)
   {
     entry.replaceAttribute(attributeDescription, values);
     return this;
@@ -294,7 +279,6 @@
    * {@inheritDoc}
    */
   public SearchResultEntry setName(final DN dn)
-      throws UnsupportedOperationException, NullPointerException
   {
     entry.setName(dn);
     return this;
@@ -306,8 +290,6 @@
    * {@inheritDoc}
    */
   public SearchResultEntry setName(final String dn)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException,
-      NullPointerException
   {
     entry.setName(dn);
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReference.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReference.java
index 0562625..e50f733 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReference.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReference.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -47,8 +48,7 @@
   /**
    * {@inheritDoc}
    */
-  SearchResultReference addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchResultReference addControl(Control control);
 
 
 
@@ -65,8 +65,7 @@
    * @throws NullPointerException
    *           If {@code uri} was {@code null}.
    */
-  SearchResultReference addURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchResultReference addURI(String uri);
 
 
 
@@ -74,7 +73,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReferenceImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReferenceImpl.java
index d8225b5..ce1f071 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReferenceImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/SearchResultReferenceImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -58,7 +59,7 @@
    * @throws NullPointerException
    *           If {@code uri} was {@code null}.
    */
-  SearchResultReferenceImpl(final String uri) throws NullPointerException
+  SearchResultReferenceImpl(final String uri)
   {
     addURI(uri);
   }
@@ -75,7 +76,6 @@
    *           If {@code searchResultReference} was {@code null} .
    */
   SearchResultReferenceImpl(final SearchResultReference searchResultReference)
-      throws NullPointerException
   {
     super(searchResultReference);
     this.uris.addAll(searchResultReference.getURIs());
@@ -87,7 +87,6 @@
    * {@inheritDoc}
    */
   public SearchResultReference addURI(final String uri)
-      throws UnsupportedOperationException, NullPointerException
   {
     Validator.ensureNotNull(uri);
     uris.add(uri);
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableBindResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableBindResultImpl.java
index 1122ca1..d429707 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableBindResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableBindResultImpl.java
@@ -23,35 +23,49 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 
+
+
 /**
  * Unmodifiable Bind result implementation.
  */
-class UnmodifiableBindResultImpl
-    extends AbstractUnmodifiableResultImpl<BindResult> implements BindResult
+class UnmodifiableBindResultImpl extends
+    AbstractUnmodifiableResultImpl<BindResult> implements BindResult
 {
-  public UnmodifiableBindResultImpl(BindResult impl) {
+  public UnmodifiableBindResultImpl(BindResult impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public ByteString getServerSASLCredentials() {
+  public ByteString getServerSASLCredentials()
+  {
     return impl.getServerSASLCredentials();
   }
 
+
+
   @Override
-  public boolean isSASLBindInProgress() {
+  public boolean isSASLBindInProgress()
+  {
     return impl.isSASLBindInProgress();
   }
 
+
+
   @Override
   public BindResult setServerSASLCredentials(ByteString credentials)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableCompareResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableCompareResultImpl.java
index 366f7d3..50a7a65 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableCompareResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableCompareResultImpl.java
@@ -27,19 +27,24 @@
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 /**
  * Unmodifiable Compare result implementation.
  */
-class UnmodifiableCompareResultImpl
-    extends AbstractUnmodifiableResultImpl<CompareResult>
-    implements CompareResult
+class UnmodifiableCompareResultImpl extends
+    AbstractUnmodifiableResultImpl<CompareResult> implements CompareResult
 {
-  UnmodifiableCompareResultImpl(CompareResult impl) {
+  UnmodifiableCompareResultImpl(CompareResult impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public boolean matched() {
+  public boolean matched()
+  {
     return impl.matched();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericExtendedResultImpl.java
index e38f966..3bacb4c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericExtendedResultImpl.java
@@ -23,32 +23,42 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 
+
+
 /**
  * Unmodifiable Generic extended result implementation.
  */
 class UnmodifiableGenericExtendedResultImpl extends
-    AbstractUnmodifiableExtendedResultImpl<GenericExtendedResult>
-    implements ExtendedResult, GenericExtendedResult
+    AbstractUnmodifiableExtendedResultImpl<GenericExtendedResult> implements
+    ExtendedResult, GenericExtendedResult
 {
-  UnmodifiableGenericExtendedResultImpl(GenericExtendedResult impl) {
+  UnmodifiableGenericExtendedResultImpl(GenericExtendedResult impl)
+  {
     super(impl);
   }
 
+
+
   @Override
   public GenericExtendedResult setOID(String oid)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GenericExtendedResult setValue(ByteString bytes)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericIntermediateResponseImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericIntermediateResponseImpl.java
index 2134d56..b5450f0 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericIntermediateResponseImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableGenericIntermediateResponseImpl.java
@@ -23,12 +23,17 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 
+
+
 /**
  * Unmodifiable Generic extended result implementation.
  */
@@ -36,20 +41,24 @@
     AbstractUnmodifiableIntermediateResponseImpl<GenericIntermediateResponse>
     implements GenericIntermediateResponse
 {
-  UnmodifiableGenericIntermediateResponseImpl(
-      GenericIntermediateResponse impl) {
+  UnmodifiableGenericIntermediateResponseImpl(GenericIntermediateResponse impl)
+  {
     super(impl);
   }
 
+
+
   @Override
   public GenericIntermediateResponse setOID(String oid)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public GenericIntermediateResponse setValue(ByteString bytes)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiablePasswordModifyExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiablePasswordModifyExtendedResultImpl.java
index 0a9a8d8..7217192 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiablePasswordModifyExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiablePasswordModifyExtendedResultImpl.java
@@ -23,12 +23,17 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import org.forgerock.opendj.ldap.ByteString;
 
+
+
 /**
  * Unmodifiable Password modify extended result implementation.
  */
@@ -36,26 +41,32 @@
     AbstractUnmodifiableExtendedResultImpl<PasswordModifyExtendedResult>
     implements PasswordModifyExtendedResult
 {
-  UnmodifiablePasswordModifyExtendedResultImpl(
-      PasswordModifyExtendedResult impl) {
+  UnmodifiablePasswordModifyExtendedResultImpl(PasswordModifyExtendedResult impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public ByteString getGeneratedPassword() {
+  public ByteString getGeneratedPassword()
+  {
     return impl.getGeneratedPassword();
   }
 
+
+
   @Override
   public PasswordModifyExtendedResult setGeneratedPassword(ByteString password)
-      throws UnsupportedOperationException
   {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
   public PasswordModifyExtendedResult setGeneratedPassword(char[] password)
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableResultImpl.java
index e8b9b5b..95cf74a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableResultImpl.java
@@ -27,13 +27,16 @@
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 /**
  * A unmodifiable generic result indicates the final status of an operation.
  */
-class UnmodifiableResultImpl
-    extends AbstractUnmodifiableResultImpl<Result> implements Result
+class UnmodifiableResultImpl extends AbstractUnmodifiableResultImpl<Result>
+    implements Result
 {
-  UnmodifiableResultImpl(Result impl) {
+  UnmodifiableResultImpl(Result impl)
+  {
     super(impl);
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
index b67cae7..0521714 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultEntryImpl.java
@@ -23,104 +23,125 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import java.util.Collection;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 
 import com.forgerock.opendj.util.Function;
 import com.forgerock.opendj.util.Iterables;
 
+
+
 /**
  * Unmodifiable Search result entry implementation.
  */
-class UnmodifiableSearchResultEntryImpl  extends
-    AbstractUnmodifiableResponseImpl<SearchResultEntry>
-    implements SearchResultEntry
+class UnmodifiableSearchResultEntryImpl extends
+    AbstractUnmodifiableResponseImpl<SearchResultEntry> implements
+    SearchResultEntry
 {
   private static final Function<Attribute, Attribute, Void>
-      UNMODIFIABLE_ATTRIBUTE_FUNCTION =
-      new Function<Attribute, Attribute, Void>()
-      {
+    UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>()
+  {
 
-        public Attribute apply(final Attribute value, final Void p)
-        {
-          return Attributes.unmodifiableAttribute(value);
-        }
+    public Attribute apply(final Attribute value, final Void p)
+    {
+      return Attributes.unmodifiableAttribute(value);
+    }
 
-      };
+  };
 
-  UnmodifiableSearchResultEntryImpl(SearchResultEntry impl) {
+
+
+  UnmodifiableSearchResultEntryImpl(SearchResultEntry impl)
+  {
     super(impl);
   }
 
+
+
   public boolean addAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean addAttribute(Attribute attribute,
-                              Collection<ByteString> duplicateValues)
-      throws UnsupportedOperationException, NullPointerException {
+      Collection<ByteString> duplicateValues)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry addAttribute(String attributeDescription,
-                                        Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry clearAttributes()
-      throws UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean containsAttribute(Attribute attribute,
-                                   Collection<ByteString> missingValues)
-      throws NullPointerException {
+      Collection<ByteString> missingValues)
+  {
     return impl.containsAttribute(attribute, missingValues);
   }
 
+
+
   public boolean containsAttribute(String attributeDescription,
-                                   Object... values)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
+      Object... values)
+  {
     return impl.containsAttribute(attributeDescription, values);
   }
 
-  public Iterable<Attribute> getAllAttributes() {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
+
+
+  public Iterable<Attribute> getAllAttributes()
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
+
+
   public Iterable<Attribute> getAllAttributes(
       AttributeDescription attributeDescription)
-      throws NullPointerException {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(attributeDescription),
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(attributeDescription),
         UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
-  public Iterable<Attribute> getAllAttributes(
-      String attributeDescription)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
-    return Iterables.unmodifiableIterable(Iterables.transformedIterable(impl
-        .getAllAttributes(attributeDescription),
+
+
+  public Iterable<Attribute> getAllAttributes(String attributeDescription)
+  {
+    return Iterables.unmodifiableIterable(Iterables.transformedIterable(
+        impl.getAllAttributes(attributeDescription),
         UNMODIFIABLE_ATTRIBUTE_FUNCTION));
   }
 
-  public Attribute getAttribute(
-      AttributeDescription attributeDescription)
-      throws NullPointerException {
-    final Attribute attribute =
-        impl.getAttribute(attributeDescription);
+
+
+  public Attribute getAttribute(AttributeDescription attributeDescription)
+  {
+    final Attribute attribute = impl.getAttribute(attributeDescription);
     if (attribute != null)
     {
       return Attributes.unmodifiableAttribute(attribute);
@@ -131,11 +152,11 @@
     }
   }
 
+
+
   public Attribute getAttribute(String attributeDescription)
-      throws LocalizedIllegalArgumentException,
-      NullPointerException {
-    final Attribute attribute =
-        impl.getAttribute(attributeDescription);
+  {
+    final Attribute attribute = impl.getAttribute(attributeDescription);
     if (attribute != null)
     {
       return Attributes.unmodifiableAttribute(attribute);
@@ -146,53 +167,69 @@
     }
   }
 
-  public int getAttributeCount() {
+
+
+  public int getAttributeCount()
+  {
     return impl.getAttributeCount();
   }
 
-  public DN getName() {
+
+
+  public DN getName()
+  {
     return impl.getName();
   }
 
+
+
   public boolean removeAttribute(Attribute attribute,
-                                 Collection<ByteString> missingValues)
-      throws UnsupportedOperationException, NullPointerException {
+      Collection<ByteString> missingValues)
+  {
     throw new UnsupportedOperationException();
   }
 
-  public boolean removeAttribute(
-      AttributeDescription attributeDescription)
-      throws UnsupportedOperationException, NullPointerException {
+
+
+  public boolean removeAttribute(AttributeDescription attributeDescription)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry removeAttribute(String attributeDescription,
-                                           Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public boolean replaceAttribute(Attribute attribute)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry replaceAttribute(String attributeDescription,
-                                            Object... values)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+      Object... values)
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   public SearchResultEntry setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultReferenceImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultReferenceImpl.java
index f17734b..bea75cd 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultReferenceImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableSearchResultReferenceImpl.java
@@ -23,12 +23,17 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
+
+
 import java.util.List;
 
+
+
 /**
  * Unmodifiable Search result reference implementation.
  */
@@ -36,18 +41,24 @@
     AbstractUnmodifiableResponseImpl<SearchResultReference> implements
     SearchResultReference
 {
-  UnmodifiableSearchResultReferenceImpl(SearchResultReference impl) {
+  UnmodifiableSearchResultReferenceImpl(SearchResultReference impl)
+  {
     super(impl);
   }
 
+
+
   @Override
   public SearchResultReference addURI(String uri)
-      throws UnsupportedOperationException, NullPointerException {
+  {
     throw new UnsupportedOperationException();
   }
 
+
+
   @Override
-  public List<String> getURIs() {
+  public List<String> getURIs()
+  {
     return impl.getURIs();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableWhoAmIExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableWhoAmIExtendedResultImpl.java
index 1a39010..711eef7 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableWhoAmIExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/UnmodifiableWhoAmIExtendedResultImpl.java
@@ -23,11 +23,12 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+
 
 /**
  * Unmodifiable Who Am I extended result implementation.
@@ -36,18 +37,24 @@
     AbstractUnmodifiableExtendedResultImpl<WhoAmIExtendedResult> implements
     WhoAmIExtendedResult
 {
-  UnmodifiableWhoAmIExtendedResultImpl(WhoAmIExtendedResult impl) {
+  UnmodifiableWhoAmIExtendedResultImpl(WhoAmIExtendedResult impl)
+  {
     super(impl);
   }
 
+
+
   @Override
-  public String getAuthorizationID() {
+  public String getAuthorizationID()
+  {
     return impl.getAuthorizationID();
   }
 
+
+
   @Override
   public WhoAmIExtendedResult setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException {
+  {
     throw new UnsupportedOperationException();
   }
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResult.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResult.java
index d14dd4f..8fe2901 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResult.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResult.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -31,7 +32,7 @@
 
 import java.util.List;
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
+import org.forgerock.i18n.*;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.DecodeOptions;
@@ -63,16 +64,14 @@
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult addControl(Control control)
-      throws UnsupportedOperationException, NullPointerException;
+  WhoAmIExtendedResult addControl(Control control);
 
 
 
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult addReferralURI(String uri)
-      throws UnsupportedOperationException, NullPointerException;
+  WhoAmIExtendedResult addReferralURI(String uri);
 
 
 
@@ -99,7 +98,7 @@
    * {@inheritDoc}
    */
   <C extends Control> C getControl(ControlDecoder<C> decoder,
-      DecodeOptions options) throws NullPointerException, DecodeException;
+      DecodeOptions options) throws DecodeException;
 
 
 
@@ -189,39 +188,34 @@
    *           If this who am I extended result does not permit the
    *           authorization ID to be set.
    */
-  WhoAmIExtendedResult setAuthorizationID(String authorizationID)
-      throws LocalizedIllegalArgumentException, UnsupportedOperationException;
+  WhoAmIExtendedResult setAuthorizationID(String authorizationID);
 
 
 
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult setCause(Throwable cause)
-      throws UnsupportedOperationException;
+  WhoAmIExtendedResult setCause(Throwable cause);
 
 
 
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult setDiagnosticMessage(String message)
-      throws UnsupportedOperationException;
+  WhoAmIExtendedResult setDiagnosticMessage(String message);
 
 
 
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult setMatchedDN(String dn)
-      throws UnsupportedOperationException;
+  WhoAmIExtendedResult setMatchedDN(String dn);
 
 
 
   /**
    * {@inheritDoc}
    */
-  WhoAmIExtendedResult setResultCode(ResultCode resultCode)
-      throws UnsupportedOperationException, NullPointerException;
+  WhoAmIExtendedResult setResultCode(ResultCode resultCode);
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResultImpl.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResultImpl.java
index 3cd8fe0..67091ee 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResultImpl.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/responses/WhoAmIExtendedResultImpl.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.responses;
@@ -69,7 +70,6 @@
    *           If {@code whoAmIExtendedResult} was {@code null} .
    */
   WhoAmIExtendedResultImpl(final WhoAmIExtendedResult whoAmIExtendedResult)
-      throws NullPointerException
   {
     super(whoAmIExtendedResult);
     this.authorizationID = whoAmIExtendedResult.getAuthorizationID();
@@ -126,7 +126,6 @@
    * {@inheritDoc}
    */
   public WhoAmIExtendedResult setAuthorizationID(final String authorizationID)
-      throws LocalizedIllegalArgumentException
   {
     if (authorizationID != null && authorizationID.length() != 0)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java
index 3bc424b..002c257 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/AttributeType.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldap.schema;
@@ -231,7 +231,7 @@
    * @throws NullPointerException
    *           If {@code name} was {@code null}.
    */
-  public int compareTo(final AttributeType type) throws NullPointerException
+  public int compareTo(final AttributeType type)
   {
     if (isObjectClassType)
     {
@@ -555,7 +555,6 @@
    *           If {@code type} was {@code null}.
    */
   public boolean isSubTypeOf(final AttributeType type)
-      throws NullPointerException
   {
     AttributeType tmp = this;
     do
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
index fc65ffe..651cfc9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/Schema.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 package org.forgerock.opendj.ldap.schema;
 
@@ -134,7 +134,6 @@
 
     @Override
     public DITContentRule getDITContentRule(final String name)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(WARN_DCR_UNKNOWN.get(name));
     }
@@ -160,7 +159,6 @@
 
     @Override
     public DITStructureRule getDITStructureRule(final int ruleID)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(WARN_DSR_UNKNOWN.get(String
           .valueOf(ruleID)));
@@ -196,7 +194,6 @@
 
     @Override
     public MatchingRule getMatchingRule(final String name)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(WARN_MR_UNKNOWN.get(name));
     }
@@ -229,7 +226,6 @@
 
     @Override
     public MatchingRuleUse getMatchingRuleUse(final String name)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(WARN_MRU_UNKNOWN.get(name));
     }
@@ -255,7 +251,6 @@
 
     @Override
     public NameForm getNameForm(final String name)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(WARN_NAMEFORM_UNKNOWN.get(name));
     }
@@ -288,7 +283,6 @@
 
     @Override
     public ObjectClass getObjectClass(final String name)
-        throws UnknownSchemaElementException
     {
       throw new UnknownSchemaElementException(
           WARN_OBJECTCLASS_UNKNOWN.get(name));
@@ -427,8 +421,7 @@
 
   private static interface Impl
   {
-    AttributeType getAttributeType(String name)
-        throws UnknownSchemaElementException;
+    AttributeType getAttributeType(String name);
 
 
 
@@ -444,8 +437,7 @@
 
 
 
-    DITContentRule getDITContentRule(String name)
-        throws UnknownSchemaElementException;
+    DITContentRule getDITContentRule(String name);
 
 
 
@@ -457,8 +449,7 @@
 
 
 
-    DITStructureRule getDITStructureRule(int ruleID)
-        throws UnknownSchemaElementException;
+    DITStructureRule getDITStructureRule(int ruleID);
 
 
 
@@ -474,8 +465,7 @@
 
 
 
-    MatchingRule getMatchingRule(String name)
-        throws UnknownSchemaElementException;
+    MatchingRule getMatchingRule(String name);
 
 
 
@@ -491,8 +481,7 @@
 
 
 
-    MatchingRuleUse getMatchingRuleUse(String name)
-        throws UnknownSchemaElementException;
+    MatchingRuleUse getMatchingRuleUse(String name);
 
 
 
@@ -504,7 +493,7 @@
 
 
 
-    NameForm getNameForm(String name) throws UnknownSchemaElementException;
+    NameForm getNameForm(String name);
 
 
 
@@ -520,8 +509,7 @@
 
 
 
-    ObjectClass getObjectClass(String name)
-        throws UnknownSchemaElementException;
+    ObjectClass getObjectClass(String name);
 
 
 
@@ -537,7 +525,7 @@
 
 
 
-    Syntax getSyntax(String numericOID) throws UnknownSchemaElementException;
+    Syntax getSyntax(String numericOID);
 
 
 
@@ -634,7 +622,6 @@
 
     @Override
     public AttributeType getAttributeType(final String name)
-        throws UnknownSchemaElementException
     {
       if (!strictImpl.hasAttributeType(name))
       {
@@ -681,7 +668,6 @@
 
     @Override
     public DITContentRule getDITContentRule(final String name)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getDITContentRule(name);
     }
@@ -707,7 +693,6 @@
 
     @Override
     public DITStructureRule getDITStructureRule(final int ruleID)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getDITStructureRule(ruleID);
     }
@@ -742,7 +727,6 @@
 
     @Override
     public MatchingRule getMatchingRule(final String name)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getMatchingRule(name);
     }
@@ -775,7 +759,6 @@
 
     @Override
     public MatchingRuleUse getMatchingRuleUse(final String name)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getMatchingRuleUse(name);
     }
@@ -801,7 +784,6 @@
 
     @Override
     public NameForm getNameForm(final String name)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getNameForm(name);
     }
@@ -834,7 +816,6 @@
 
     @Override
     public ObjectClass getObjectClass(final String name)
-        throws UnknownSchemaElementException
     {
       return strictImpl.getObjectClass(name);
     }
@@ -1102,7 +1083,6 @@
 
     @Override
     public AttributeType getAttributeType(final String name)
-        throws UnknownSchemaElementException
     {
       final AttributeType type = numericOID2AttributeTypes.get(name);
       if (type != null)
@@ -1160,7 +1140,6 @@
 
     @Override
     public DITContentRule getDITContentRule(final String name)
-        throws UnknownSchemaElementException
     {
       final DITContentRule rule = numericOID2ContentRules.get(name);
       if (rule != null)
@@ -1210,7 +1189,6 @@
 
     @Override
     public DITStructureRule getDITStructureRule(final int ruleID)
-        throws UnknownSchemaElementException
     {
       final DITStructureRule rule = id2StructureRules.get(ruleID);
       if (rule == null)
@@ -1269,7 +1247,6 @@
 
     @Override
     public MatchingRule getMatchingRule(final String name)
-        throws UnknownSchemaElementException
     {
       final MatchingRule rule = numericOID2MatchingRules.get(name);
       if (rule != null)
@@ -1326,7 +1303,6 @@
 
     @Override
     public MatchingRuleUse getMatchingRuleUse(final String name)
-        throws UnknownSchemaElementException
     {
       final MatchingRuleUse rule = numericOID2MatchingRuleUses.get(name);
       if (rule != null)
@@ -1376,7 +1352,6 @@
 
     @Override
     public NameForm getNameForm(final String name)
-        throws UnknownSchemaElementException
     {
       final NameForm form = numericOID2NameForms.get(name);
       if (form != null)
@@ -1443,7 +1418,6 @@
 
     @Override
     public ObjectClass getObjectClass(final String name)
-        throws UnknownSchemaElementException
     {
       final ObjectClass oc = numericOID2ObjectClasses.get(name);
       if (oc != null)
@@ -1502,7 +1476,6 @@
 
     @Override
     public Syntax getSyntax(final String numericOID)
-        throws UnknownSchemaElementException
     {
       final Syntax syntax = numericOID2Syntaxes.get(numericOID);
       if (syntax == null)
@@ -1743,8 +1716,6 @@
   public static FutureResult<Schema> readSchemaAsync(
       final Connection connection, final DN name,
       final ResultHandler<? super Schema> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final FutureResultTransformer<SchemaBuilder, Schema> future =
       new FutureResultTransformer<SchemaBuilder, Schema>(handler)
@@ -1794,9 +1765,7 @@
    *           If the {@code connection} or {@code name} was {@code null}.
    */
   public static Schema readSchema(final Connection connection, final DN name)
-      throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      throws ErrorResultException, InterruptedException
   {
     return new SchemaBuilder().addSchema(connection, name, true).toSchema();
   }
@@ -1836,8 +1805,6 @@
   public static FutureResult<Schema> readSchemaForEntryAsync(
       final Connection connection, final DN name,
       final ResultHandler<? super Schema> handler)
-      throws UnsupportedOperationException, IllegalStateException,
-      NullPointerException
   {
     final FutureResultTransformer<SchemaBuilder, Schema> future =
       new FutureResultTransformer<SchemaBuilder, Schema>(handler)
@@ -1895,9 +1862,7 @@
    *           If the {@code connection} or {@code name} was {@code null}.
    */
   public static Schema readSchemaForEntry(final Connection connection,
-      final DN name) throws ErrorResultException, InterruptedException,
-      UnsupportedOperationException, IllegalStateException,
-      NullPointerException
+      final DN name) throws ErrorResultException, InterruptedException
   {
     return new SchemaBuilder().addSchemaForEntry(connection, name, true)
         .toSchema();
@@ -2115,7 +2080,6 @@
    *           not found or if the provided name is ambiguous.
    */
   public AttributeType getAttributeType(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getAttributeType(name);
   }
@@ -2179,7 +2143,6 @@
    *           not found or if the provided name is ambiguous.
    */
   public DITContentRule getDITContentRule(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getDITContentRule(name);
   }
@@ -2227,7 +2190,6 @@
    *           was not found.
    */
   public DITStructureRule getDITStructureRule(final int ruleID)
-      throws UnknownSchemaElementException
   {
     return impl.getDITStructureRule(ruleID);
   }
@@ -2293,7 +2255,6 @@
    *           not found or if the provided name is ambiguous.
    */
   public MatchingRule getMatchingRule(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getMatchingRule(name);
   }
@@ -2357,7 +2318,6 @@
    *           was not found or if the provided name is ambiguous.
    */
   public MatchingRuleUse getMatchingRuleUse(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getMatchingRuleUse(name);
   }
@@ -2406,7 +2366,6 @@
    *           found or if the provided name is ambiguous.
    */
   public NameForm getNameForm(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getNameForm(name);
   }
@@ -2470,7 +2429,6 @@
    *           found or if the provided name is ambiguous.
    */
   public ObjectClass getObjectClass(final String name)
-      throws UnknownSchemaElementException
   {
     return impl.getObjectClass(name);
   }
@@ -2534,7 +2492,6 @@
    *           or if the provided name is ambiguous.
    */
   public Syntax getSyntax(final String numericOID)
-      throws UnknownSchemaElementException
   {
     return impl.getSyntax(numericOID);
   }
@@ -2730,7 +2687,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null}.
    */
-  public Entry toEntry(final Entry entry) throws NullPointerException
+  public Entry toEntry(final Entry entry)
   {
     Attribute attr = new LinkedAttribute(Schema.ATTR_LDAP_SYNTAXES);
     for (final Syntax syntax : getSyntaxes())
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
index 8b9469f..45915ba 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaBuilder.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.schema;
@@ -202,7 +202,7 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null}.
    */
-  public SchemaBuilder(final Entry entry) throws NullPointerException
+  public SchemaBuilder(final Entry entry)
   {
     preLazyInitBuilder(entry.getName().toString(), null);
     addSchema(entry, true);
@@ -219,7 +219,7 @@
    * @throws NullPointerException
    *           If {@code schema} was {@code null}.
    */
-  public SchemaBuilder(final Schema schema) throws NullPointerException
+  public SchemaBuilder(final Schema schema)
   {
     preLazyInitBuilder(schema.getSchemaName(), schema);
   }
@@ -259,8 +259,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addAttributeType(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -588,7 +587,6 @@
       final String syntax, final boolean singleValue, final boolean collective,
       final boolean noUserModification, final AttributeUsage attributeUsage,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -622,8 +620,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addDITContentRule(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -814,7 +811,6 @@
       final Set<String> prohibitedAttributes,
       final Set<String> requiredAttributes,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -863,7 +859,6 @@
       final boolean obsolete, final String nameForm,
       final Set<Integer> superiorRules,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -896,8 +891,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addDITStructureRule(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -1057,7 +1051,7 @@
    */
   public SchemaBuilder addEnumerationSyntax(final String oid,
       final String description, final boolean overwrite,
-      final String... enumerations) throws ConflictingSchemaElementException
+      final String... enumerations)
   {
     Validator.ensureNotNull((Object) enumerations);
 
@@ -1106,8 +1100,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addMatchingRule(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -1274,7 +1267,6 @@
       final boolean obsolete, final String assertionSyntax,
       final Map<String, List<String>> extraProperties,
       final MatchingRuleImpl implementation, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     Validator.ensureNotNull(implementation);
 
@@ -1308,8 +1300,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addMatchingRuleUse(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -1475,7 +1466,6 @@
       final List<String> names, final String description,
       final boolean obsolete, final Set<String> attributeOIDs,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -1507,8 +1497,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addNameForm(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -1702,7 +1691,6 @@
       final String structuralClass, final Set<String> requiredAttributes,
       final Set<String> optionalAttributes,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -1735,8 +1723,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addObjectClass(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -1949,7 +1936,6 @@
       final Set<String> optionalAttributeOIDs,
       final ObjectClassType objectClassType,
       final Map<String, List<String>> extraProperties, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     lazyInitBuilder();
 
@@ -1997,7 +1983,6 @@
    */
   public SchemaBuilder addPatternSyntax(final String oid,
       final String description, final Pattern pattern, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     Validator.ensureNotNull(pattern);
 
@@ -2041,8 +2026,7 @@
   public FutureResult<SchemaBuilder> addSchemaAsync(
       final Connection connection, final DN name,
       final ResultHandler<? super SchemaBuilder> handler,
-      final boolean overwrite) throws UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      final boolean overwrite)
   {
     // The call to addSchema will perform copyOnWrite.
     final SearchRequest request = getReadSchemaSearchRequest(name);
@@ -2099,8 +2083,7 @@
    */
   public SchemaBuilder addSchema(final Connection connection, final DN name,
       final boolean overwrite) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     // The call to addSchema will perform copyOnWrite.
     final SearchRequest request = getReadSchemaSearchRequest(name);
@@ -2126,7 +2109,6 @@
    *           If {@code entry} was {@code null}.
    */
   public SchemaBuilder addSchema(final Entry entry, final boolean overwrite)
-      throws NullPointerException
   {
     Validator.ensureNotNull(entry);
 
@@ -2282,7 +2264,6 @@
    *           If {@code schema} was {@code null}.
    */
   public SchemaBuilder addSchema(final Schema schema, final boolean overwrite)
-      throws ConflictingSchemaElementException, NullPointerException
   {
     Validator.ensureNotNull(schema);
 
@@ -2330,8 +2311,7 @@
   public FutureResult<SchemaBuilder> addSchemaForEntryAsync(
       final Connection connection, final DN name,
       final ResultHandler<? super SchemaBuilder> handler,
-      final boolean overwrite) throws UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      final boolean overwrite)
   {
     // The call to addSchema will perform copyOnWrite.
     final RecursiveFutureResult<SearchResultEntry, SchemaBuilder> future =
@@ -2394,8 +2374,7 @@
    */
   public SchemaBuilder addSchemaForEntry(final Connection connection,
       final DN name, final boolean overwrite) throws ErrorResultException,
-      InterruptedException, UnsupportedOperationException,
-      IllegalStateException, NullPointerException
+      InterruptedException
   {
     // The call to addSchema will perform copyOnWrite.
     final SearchRequest request = getReadSchemaForEntrySearchRequest(name);
@@ -2425,7 +2404,7 @@
    */
   public SchemaBuilder addSubstitutionSyntax(final String oid,
       final String description, final String substituteSyntax,
-      final boolean overwrite) throws ConflictingSchemaElementException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(substituteSyntax);
 
@@ -2458,8 +2437,7 @@
    *           If {@code definition} was {@code null}.
    */
   public SchemaBuilder addSyntax(final String definition,
-      final boolean overwrite) throws ConflictingSchemaElementException,
-      LocalizedIllegalArgumentException, NullPointerException
+      final boolean overwrite)
   {
     Validator.ensureNotNull(definition);
 
@@ -2614,7 +2592,6 @@
   public SchemaBuilder addSyntax(final String oid, final String description,
       final Map<String, List<String>> extraProperties,
       final SyntaxImpl implementation, final boolean overwrite)
-      throws ConflictingSchemaElementException, NullPointerException
   {
     lazyInitBuilder();
 
@@ -2999,7 +2976,7 @@
 
 
   private void addAttributeType(final AttributeType attribute,
-      final boolean overwrite) throws ConflictingSchemaElementException
+      final boolean overwrite)
   {
     AttributeType conflictingAttribute;
     if (numericOID2AttributeTypes.containsKey(attribute.getOID()))
@@ -3041,7 +3018,7 @@
 
 
   private void addDITContentRule(final DITContentRule rule,
-      final boolean overwrite) throws ConflictingSchemaElementException
+      final boolean overwrite)
   {
     DITContentRule conflictingRule;
     if (numericOID2ContentRules.containsKey(rule.getStructuralClassOID()))
@@ -3083,7 +3060,7 @@
 
 
   private void addDITStructureRule(final DITStructureRule rule,
-      final boolean overwrite) throws ConflictingSchemaElementException
+      final boolean overwrite)
   {
     DITStructureRule conflictingRule;
     if (id2StructureRules.containsKey(rule.getRuleID()))
@@ -3124,7 +3101,6 @@
 
 
   private void addMatchingRule(final MatchingRule rule, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     MatchingRule conflictingRule;
     if (numericOID2MatchingRules.containsKey(rule.getOID()))
@@ -3164,7 +3140,7 @@
 
 
   private void addMatchingRuleUse(final MatchingRuleUse use,
-      final boolean overwrite) throws ConflictingSchemaElementException
+      final boolean overwrite)
   {
     MatchingRuleUse conflictingUse;
     if (numericOID2MatchingRuleUses.containsKey(use.getMatchingRuleOID()))
@@ -3206,7 +3182,6 @@
 
 
   private void addNameForm(final NameForm form, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     NameForm conflictingForm;
     if (numericOID2NameForms.containsKey(form.getOID()))
@@ -3247,7 +3222,6 @@
 
 
   private void addObjectClass(final ObjectClass oc, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     ObjectClass conflictingOC;
     if (numericOID2ObjectClasses.containsKey(oc.getOID()))
@@ -3336,7 +3310,6 @@
 
 
   private void addSyntax(final Syntax syntax, final boolean overwrite)
-      throws ConflictingSchemaElementException
   {
     Syntax conflictingSyntax;
     if (numericOID2Syntaxes.containsKey(syntax.getOID()))
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaValidationPolicy.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaValidationPolicy.java
index 3659de7..dc35a6e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaValidationPolicy.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldap/schema/SchemaValidationPolicy.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2011 ForgeRock AS
+ *      Copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldap.schema;
@@ -385,7 +385,7 @@
    *           {@code REJECT}.
    */
   public SchemaValidationPolicy checkDITStructureRules(final Policy policy,
-      final EntryResolver resolver) throws IllegalArgumentException
+      final EntryResolver resolver)
   {
     if (checkDITStructureRules.needsChecking() && resolver == null)
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
index 0a866a7..3201b7e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/AbstractLDIFWriter.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldif;
@@ -304,8 +304,7 @@
 
 
 
-  final void writeComment0(final CharSequence comment) throws IOException,
-      NullPointerException
+  final void writeComment0(final CharSequence comment) throws IOException
   {
     Validator.ensureNotNull(comment);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordReader.java
index 73fdc27..3173766 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -31,7 +32,7 @@
 
 import java.io.Closeable;
 import java.io.IOException;
-import java.util.NoSuchElementException;
+import java.util.*;
 
 
 
@@ -87,5 +88,5 @@
    * @throws NoSuchElementException
    *           If this reader does not contain any more change records.
    */
-  ChangeRecord readChangeRecord() throws IOException, NoSuchElementException;
+  ChangeRecord readChangeRecord() throws IOException;
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java
index 0dfac63..e98557d 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ChangeRecordWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -88,8 +89,7 @@
    * @throws NullPointerException
    *           If {@code change} was {@code null}.
    */
-  ChangeRecordWriter writeChangeRecord(AddRequest change) throws IOException,
-      NullPointerException;
+  ChangeRecordWriter writeChangeRecord(AddRequest change) throws IOException;
 
 
 
@@ -105,8 +105,7 @@
    * @throws NullPointerException
    *           If {@code change} was {@code null}.
    */
-  ChangeRecordWriter writeChangeRecord(ChangeRecord change) throws IOException,
-      NullPointerException;
+  ChangeRecordWriter writeChangeRecord(ChangeRecord change) throws IOException;
 
 
 
@@ -124,7 +123,7 @@
    *           If {@code change} was {@code null}.
    */
   ChangeRecordWriter writeChangeRecord(DeleteRequest change)
-      throws IOException, NullPointerException;
+      throws IOException;
 
 
 
@@ -142,7 +141,7 @@
    *           If {@code change} was {@code null}.
    */
   ChangeRecordWriter writeChangeRecord(ModifyDNRequest change)
-      throws IOException, NullPointerException;
+      throws IOException;
 
 
 
@@ -160,7 +159,7 @@
    *           If {@code change} was {@code null}.
    */
   ChangeRecordWriter writeChangeRecord(ModifyRequest change)
-      throws IOException, NullPointerException;
+      throws IOException;
 
 
 
@@ -175,7 +174,6 @@
    * @throws NullPointerException
    *           If {@code comment} was {@code null}.
    */
-  ChangeRecordWriter writeComment(CharSequence comment) throws IOException,
-      NullPointerException;
+  ChangeRecordWriter writeComment(CharSequence comment) throws IOException;
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java
index 128bbf1..086cead 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionChangeRecordWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -74,7 +75,6 @@
    *           If {@code connection} was {@code null}.
    */
   public ConnectionChangeRecordWriter(final Connection connection)
-      throws NullPointerException
   {
     Validator.ensureNotNull(connection);
     this.connection = connection;
@@ -120,8 +120,7 @@
    *           If {@code change} was {@code null}.
    */
   public ConnectionChangeRecordWriter writeChangeRecord(final AddRequest change)
-      throws ErrorResultIOException, InterruptedIOException,
-      NullPointerException
+      throws ErrorResultIOException, InterruptedIOException
   {
     Validator.ensureNotNull(change);
     try
@@ -158,7 +157,7 @@
    */
   public ConnectionChangeRecordWriter writeChangeRecord(
       final ChangeRecord change) throws ErrorResultIOException,
-      InterruptedIOException, NullPointerException
+      InterruptedIOException
   {
     Validator.ensureNotNull(change);
 
@@ -206,7 +205,7 @@
    */
   public ConnectionChangeRecordWriter writeChangeRecord(
       final DeleteRequest change) throws ErrorResultIOException,
-      InterruptedIOException, NullPointerException
+      InterruptedIOException
   {
     Validator.ensureNotNull(change);
     try
@@ -243,7 +242,7 @@
    */
   public ConnectionChangeRecordWriter writeChangeRecord(
       final ModifyDNRequest change) throws ErrorResultIOException,
-      InterruptedIOException, NullPointerException
+      InterruptedIOException
   {
     Validator.ensureNotNull(change);
     try
@@ -280,7 +279,7 @@
    */
   public ConnectionChangeRecordWriter writeChangeRecord(
       final ModifyRequest change) throws ErrorResultIOException,
-      InterruptedIOException, NullPointerException
+      InterruptedIOException
   {
     Validator.ensureNotNull(change);
     try
@@ -311,7 +310,6 @@
    *           If {@code comment} was {@code null}.
    */
   public ConnectionChangeRecordWriter writeComment(final CharSequence comment)
-      throws NullPointerException
   {
     Validator.ensureNotNull(comment);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
index c522788..8063e2c 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryReader.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -209,7 +209,7 @@
    *           If {@code connection} was {@code null}.
    */
   public ConnectionEntryReader(final Connection connection,
-      final SearchRequest searchRequest) throws NullPointerException
+      final SearchRequest searchRequest)
   {
     this(connection, searchRequest, new LinkedBlockingQueue<Response>());
   }
@@ -232,7 +232,6 @@
    */
   public ConnectionEntryReader(final Connection connection,
       final SearchRequest searchRequest, final BlockingQueue<Response> entries)
-      throws NullPointerException
   {
     Validator.ensureNotNull(connection);
     buffer = new BufferHandler(entries);
@@ -299,7 +298,7 @@
    *           search result code indicates that the search operation succeeded.
    */
   public boolean isEntry() throws ErrorResultIOException,
-      InterruptedIOException, NoSuchElementException
+      InterruptedIOException
   {
     // Throws ErrorResultIOException if search returned error.
     if (!hasNext())
@@ -345,7 +344,7 @@
    *           search result code indicates that the search operation succeeded.
    */
   public boolean isReference() throws ErrorResultIOException,
-      InterruptedIOException, NoSuchElementException
+      InterruptedIOException
   {
     return !isEntry();
   }
@@ -376,7 +375,7 @@
    */
   @Override
   public SearchResultEntry readEntry() throws SearchResultReferenceIOException,
-      ErrorResultIOException, InterruptedIOException, NoSuchElementException
+      ErrorResultIOException, InterruptedIOException
   {
     if (isEntry())
     {
@@ -413,7 +412,7 @@
    *           search result code indicates that the search operation succeeded.
    */
   public SearchResultReference readReference() throws ErrorResultIOException,
-      InterruptedIOException, NoSuchElementException
+      InterruptedIOException
   {
     if (isReference())
     {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java
index edfcd33..121fd7e 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/ConnectionEntryWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -69,7 +70,6 @@
    *           If {@code connection} was {@code null}.
    */
   public ConnectionEntryWriter(final Connection connection)
-      throws NullPointerException
   {
     Validator.ensureNotNull(connection);
     this.connection = connection;
@@ -110,7 +110,6 @@
    *           If {@code comment} was {@code null}.
    */
   public ConnectionEntryWriter writeComment(final CharSequence comment)
-      throws NullPointerException
   {
     Validator.ensureNotNull(comment);
 
@@ -136,8 +135,7 @@
    *           If {@code entry} was {@code null}.
    */
   public ConnectionEntryWriter writeEntry(final Entry entry)
-      throws ErrorResultIOException, InterruptedIOException,
-      NullPointerException
+      throws ErrorResultIOException, InterruptedIOException
   {
     Validator.ensureNotNull(entry);
     try
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryReader.java
index 9528c2c..0efffc1 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryReader.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -31,7 +32,7 @@
 
 import java.io.Closeable;
 import java.io.IOException;
-import java.util.NoSuchElementException;
+import java.util.*;
 
 import org.forgerock.opendj.ldap.Entry;
 
@@ -85,5 +86,5 @@
    * @throws NoSuchElementException
    *           If this reader does not contain any more entries.
    */
-  Entry readEntry() throws IOException, NoSuchElementException;
+  Entry readEntry() throws IOException;
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java
index b24b4df..122a168 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/EntryWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -81,8 +82,7 @@
    * @throws NullPointerException
    *           If {@code comment} was {@code null}.
    */
-  EntryWriter writeComment(CharSequence comment) throws IOException,
-      NullPointerException;
+  EntryWriter writeComment(CharSequence comment) throws IOException;
 
 
 
@@ -97,6 +97,6 @@
    * @throws NullPointerException
    *           If {@code entry} was {@code null}.
    */
-  EntryWriter writeEntry(Entry entry) throws IOException, NullPointerException;
+  EntryWriter writeEntry(Entry entry) throws IOException;
 
 }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIF.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIF.java
index 17d8b4d..575ab20 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIF.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIF.java
@@ -21,7 +21,7 @@
  *
  * CDDL HEADER END
  *
- *      Copyright 2011 ForgeRock AS
+ *      Copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldif;
@@ -166,8 +166,7 @@
 
 
       @Override
-      public ChangeRecord readChangeRecord() throws IOException,
-          NoSuchElementException
+      public ChangeRecord readChangeRecord() throws IOException
       {
         if (sourceEntry != null && targetEntry != null)
         {
@@ -574,7 +573,7 @@
 
 
       @Override
-      public Entry readEntry() throws IOException, NoSuchElementException
+      public Entry readEntry() throws IOException
       {
         return iterator.next();
       }
@@ -671,7 +670,7 @@
 
 
 
-      public Entry readEntry() throws IOException, NoSuchElementException
+      public Entry readEntry() throws IOException
       {
         if (hasNext())
         {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java
index 1807e90..b1713be 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordReader.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldif;
@@ -78,7 +78,6 @@
    *           If {@code ldifLines} was {@code null}.
    */
   public static ChangeRecord valueOfLDIFChangeRecord(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     // LDIF change record reader is tolerant to missing change types.
     final LDIFChangeRecordReader reader = new LDIFChangeRecordReader(ldifLines);
@@ -137,7 +136,6 @@
    *           If {@code in} was {@code null}.
    */
   public LDIFChangeRecordReader(final InputStream in)
-      throws NullPointerException
   {
     super(in);
   }
@@ -154,7 +152,6 @@
    *           If {@code ldifLines} was {@code null}.
    */
   public LDIFChangeRecordReader(final List<String> ldifLines)
-      throws NullPointerException
   {
     super(ldifLines);
   }
@@ -171,7 +168,6 @@
    *           If {@code ldifLines} was {@code null}.
    */
   public LDIFChangeRecordReader(final String... ldifLines)
-      throws NullPointerException
   {
     super(Arrays.asList(ldifLines));
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java
index d702ac4..9ec0bca 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFChangeRecordWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -270,7 +271,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeChangeRecord(final AddRequest change)
-      throws IOException, NullPointerException
+      throws IOException
   {
     Validator.ensureNotNull(change);
 
@@ -311,7 +312,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeChangeRecord(final ChangeRecord change)
-      throws IOException, NullPointerException
+      throws IOException
   {
     Validator.ensureNotNull(change);
 
@@ -339,7 +340,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeChangeRecord(final DeleteRequest change)
-      throws IOException, NullPointerException
+      throws IOException
   {
     Validator.ensureNotNull(change);
 
@@ -365,7 +366,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeChangeRecord(final ModifyDNRequest change)
-      throws IOException, NullPointerException
+      throws IOException
   {
     Validator.ensureNotNull(change);
 
@@ -409,7 +410,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeChangeRecord(final ModifyRequest change)
-      throws IOException, NullPointerException
+      throws IOException
   {
     Validator.ensureNotNull(change);
 
@@ -462,7 +463,7 @@
    * {@inheritDoc}
    */
   public LDIFChangeRecordWriter writeComment(final CharSequence comment)
-      throws IOException, NullPointerException
+      throws IOException
   {
     writeComment0(comment);
     return this;
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java
index 3772797..00fd04a 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryReader.java
@@ -23,7 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS
+ *      Portions copyright 2011-2012 ForgeRock AS
  */
 
 package org.forgerock.opendj.ldif;
@@ -78,7 +78,6 @@
    *           If {@code ldifLines} was {@code null}.
    */
   public static Entry valueOfLDIFEntry(final String... ldifLines)
-      throws LocalizedIllegalArgumentException, NullPointerException
   {
     final LDIFEntryReader reader = new LDIFEntryReader(ldifLines);
     try
@@ -131,7 +130,7 @@
    * @throws NullPointerException
    *           If {@code in} was {@code null}.
    */
-  public LDIFEntryReader(final InputStream in) throws NullPointerException
+  public LDIFEntryReader(final InputStream in)
   {
     super(in);
   }
@@ -148,7 +147,6 @@
    *           If {@code ldifLines} was {@code null}.
    */
   public LDIFEntryReader(final List<String> ldifLines)
-      throws NullPointerException
   {
     super(ldifLines);
   }
@@ -164,7 +162,7 @@
    * @throws NullPointerException
    *           If {@code ldifLines} was {@code null}.
    */
-  public LDIFEntryReader(final String... ldifLines) throws NullPointerException
+  public LDIFEntryReader(final String... ldifLines)
   {
     super(Arrays.asList(ldifLines));
   }
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
index 804a8dc..91c261f 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/main/java/org/forgerock/opendj/ldif/LDIFEntryWriter.java
@@ -23,6 +23,7 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
+ *      Portions copyright 2012 ForgeRock AS.
  */
 
 package org.forgerock.opendj.ldif;
@@ -302,7 +303,7 @@
    * {@inheritDoc}
    */
   public LDIFEntryWriter writeComment(final CharSequence comment)
-      throws IOException, NullPointerException
+      throws IOException
   {
     writeComment0(comment);
     return this;
@@ -313,8 +314,7 @@
   /**
    * {@inheritDoc}
    */
-  public LDIFEntryWriter writeEntry(final Entry entry) throws IOException,
-      NullPointerException
+  public LDIFEntryWriter writeEntry(final Entry entry) throws IOException
   {
     Validator.ensureNotNull(entry);
 
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
index bfc0dbe..7d01307 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/AbstractAsynchronousConnectionTestCase.java
@@ -79,8 +79,6 @@
      * {@inheritDoc}
      */
     public FutureResult<Void> abandonAsync(AbandonRequest request)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -100,8 +98,6 @@
     public FutureResult<Result> addAsync(AddRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -120,7 +116,6 @@
      * {@inheritDoc}
      */
     public void addConnectionEventListener(ConnectionEventListener listener)
-        throws IllegalStateException, NullPointerException
     {
       // Do nothing.
     }
@@ -133,8 +128,6 @@
     public FutureResult<BindResult> bindAsync(BindRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -153,7 +146,6 @@
      * {@inheritDoc}
      */
     public void close(UnbindRequest request, String reason)
-        throws NullPointerException
     {
       // Do nothing.
     }
@@ -166,8 +158,6 @@
     public FutureResult<CompareResult> compareAsync(CompareRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super CompareResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -189,8 +179,6 @@
     public FutureResult<Result> deleteAsync(DeleteRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -212,8 +200,6 @@
         ExtendedRequest<R> request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super R> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -254,8 +240,6 @@
     public FutureResult<Result> modifyAsync(ModifyRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -276,8 +260,6 @@
     public FutureResult<Result> modifyDNAsync(ModifyDNRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super Result> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (!resultCode.isExceptional())
       {
@@ -296,7 +278,6 @@
      * {@inheritDoc}
      */
     public void removeConnectionEventListener(ConnectionEventListener listener)
-        throws NullPointerException
     {
       // Do nothing.
     }
@@ -309,8 +290,6 @@
     public FutureResult<Result> searchAsync(SearchRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         SearchResultHandler resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       if (entry != null)
       {
diff --git a/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java b/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
index e119952..97e25b0 100644
--- a/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
+++ b/opendj-sdk/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/LDAPServer.java
@@ -82,7 +82,6 @@
 
 
     public Request addControl(final Control cntrl)
-        throws UnsupportedOperationException, NullPointerException
     {
       return request.addControl(cntrl);
     }
@@ -90,8 +89,7 @@
 
 
     public <C extends Control> C getControl(final ControlDecoder<C> decoder,
-        final DecodeOptions options) throws DecodeException,
-        NullPointerException
+        final DecodeOptions options) throws DecodeException
     {
       return request.getControl(decoder, options);
     }
diff --git a/opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthenticatedConnectionFactory.java b/opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthenticatedConnectionFactory.java
index c32379a..96b78b9 100644
--- a/opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthenticatedConnectionFactory.java
+++ b/opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthenticatedConnectionFactory.java
@@ -23,14 +23,13 @@
  *
  *
  *      Copyright 2009-2010 Sun Microsystems, Inc.
- *      Portions copyright 2011 ForgeRock AS.
+ *      Portions copyright 2011-2012 ForgeRock AS.
  */
 
 package com.forgerock.opendj.ldap.tools;
 
 
 
-import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.*;
 import org.forgerock.opendj.ldap.requests.BindRequest;
 import org.forgerock.opendj.ldap.responses.BindResult;
@@ -93,8 +92,7 @@
      * {@inheritDoc}
      */
     public BindResult bind(BindRequest request) throws ErrorResultException,
-        InterruptedException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        InterruptedException
     {
       throw new UnsupportedOperationException();
     }
@@ -105,9 +103,7 @@
      * {@inheritDoc}
      */
     public BindResult bind(String name, char[] password)
-        throws ErrorResultException, InterruptedException,
-        LocalizedIllegalArgumentException, UnsupportedOperationException,
-        IllegalStateException, NullPointerException
+        throws ErrorResultException, InterruptedException
     {
       throw new UnsupportedOperationException();
     }
@@ -120,8 +116,6 @@
     public FutureResult<BindResult> bindAsync(BindRequest request,
         IntermediateResponseHandler intermediateResponseHandler,
         ResultHandler<? super BindResult> resultHandler)
-        throws UnsupportedOperationException, IllegalStateException,
-        NullPointerException
     {
       throw new UnsupportedOperationException();
     }
@@ -159,7 +153,6 @@
      */
     public FutureResult<BindResult> rebindAsync(
         final ResultHandler<? super BindResult> handler)
-        throws UnsupportedOperationException, IllegalStateException
     {
       if (request == null)
       {
@@ -307,7 +300,7 @@
    *           If {@code factory} or {@code request} was {@code null}.
    */
   public AuthenticatedConnectionFactory(final ConnectionFactory factory,
-      final BindRequest request) throws NullPointerException
+      final BindRequest request)
   {
     Validator.ensureNotNull(factory, request);
     this.parentFactory = factory;

--
Gitblit v1.10.0