code: @Override public void close() {
      if (parent != null) parent.remove(this);
      setState(State.DISPOSED);
      setBatch(null);
    }
docs: Disposes this layer, removing it from its parent layer. Any resources associated with this
  layer are freed, and it cannot be reused after being disposed. Disposing a layer that has
  children will dispose them as well.