code: public BooleanProperty pannableProperty() {
  		if (this.pannable == null) {
  			this.pannable = new StyleableBooleanProperty(DEFAULT_PANNABLE) {
  				@Override
  				public void invalidated() {
  					pseudoClassStateChanged(StyleableProperties.PANNABLE_PSEUDOCLASS_STATE, get());
  				}
  
  				@Override
  				public CssMetaData<ZoomablePane<?>, Boolean> getCssMetaData() {
  					return StyleableProperties.PANNABLE;
  				}
  
  				@Override
  				public Object getBean() {
  					return ZoomablePane.this;
  				}
  
  				@Override
  				public String getName() {
  					return PANNABLE_PROPERTY;
  				}
  			};
  		}
  		return this.pannable;
  	}
docs: Replies the property that indicates if the user could be able to pan the viewport by using
  the mouse. If mouse events reach the {@code ZoomablePane} (that is, if mouse
  events are not blocked by the contained node or one of its children)
  then {@link #pannableProperty() pannable} is consulted to determine if the events should be
  used for panning.
  
  @return the property.