code: @Override
      public CreateTopicResult createTopic(CreateTopicRequest request) {
          request = beforeClientExecution(request);
          return executeCreateTopic(request);
      }
docs: <p>
  Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more
  information, see <a href="http://aws.amazon.com/sns/">https://aws.amazon.com/sns</a>. This action is idempotent,
  so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a
  new topic.
  </p>
  
  @param createTopicRequest
  Input for CreateTopic action.
  @return Result of the CreateTopic operation returned by the service.
  @throws InvalidParameterException
  Indicates that a request parameter does not comply with the associated constraints.
  @throws TopicLimitExceededException
  Indicates that the customer already owns the maximum allowed number of topics.
  @throws InternalErrorException
  Indicates an internal service error.
  @throws AuthorizationErrorException
  Indicates that the user has been denied access to the requested resource.
  @throws InvalidSecurityException
  The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using
  Signature Version 4.
  @throws TagLimitExceededException
  Can't add more than 50 tags to a topic.
  @throws StaleTagException
  A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then
  retry the operation.
  @throws TagPolicyException
  The request doesn't comply with the IAM tag policy. Correct your request and then retry it.
  @throws ConcurrentAccessException
  Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.
  @sample AmazonSNS.CreateTopic
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateTopic" target="_top">AWS API
  Documentation</a>