/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.arrow.memory;

public class BoundsChecking {

  public static final boolean BOUNDS_CHECKING_ENABLED;
  static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BoundsChecking.class);

  static {
    boolean isAssertEnabled = false;
    assert isAssertEnabled = true;
    BOUNDS_CHECKING_ENABLED = isAssertEnabled ||
      !"true".equals(System.getProperty("drill.enable_unsafe_memory_access"));
  }

  private BoundsChecking() {
  }

}

@@ -1025,16 +1025,397 @@
 tatic %7B%0A
+    String oldProperty = System.getProperty(%22drill.enable_unsafe_memory_access%22);%0A    if (oldProperty != null) %7B%0A      logger.warn(%22%5C%22drill.enable_unsafe_memory_access%5C%22 has been renamed to %5C%22arrow.enable_unsafe_memory_access%5C%22%22);%0A      logger.warn(%22%5C%22arrow.enable_unsafe_memory_access%5C%22 can be set to: %22 +%0A              %22 true (to not check) or false (to check, default)%22);%0A    %7D%0A
     bool
@@ -1560,37 +1560,37 @@
 em.getProperty(%22
-drill
+arrow
 .enable_unsafe_m
@@ -1604,16 +1604,53 @@
 ccess%22))
+ %7C%7C%0A      !%22true%22.equals(oldProperty)
 ;%0A  %7D%0A%0A 

[Java] Make sure bound checks are off