code: public Waiter<DescribeVpcsRequest> vpcExists() {
  
          return new WaiterBuilder<DescribeVpcsRequest, DescribeVpcsResult>().withSdkFunction(new DescribeVpcsFunction(client))
                  .withAcceptors(new HttpSuccessStatusAcceptor(WaiterState.SUCCESS), new VpcExists.IsInvalidVpcIDNotFoundMatcher())
                  .withDefaultPollingStrategy(new PollingStrategy(new MaxAttemptsRetryStrategy(5), new FixedDelayStrategy(1)))
                  .withExecutorService(executorService).build();
      }
docs: Builds a VpcExists waiter by using custom parameters waiterParameters and other parameters defined in the waiters
  specification, and then polls until it determines whether the resource entered the desired state or not, where
  polling criteria is bound by either default polling strategy or custom polling strategy.