docs: private Resource getImageResource(FacesContext facesContext, ImageCropper imageCropper) {
  
          Resource resource = null;
          ValueExpression imageValueExpression = imageCropper.getValueExpression(ImageCropper.PropertyKeys.image.toString());
  
          if (imageValueExpression != null) {
              String imageValueExpressionString = imageValueExpression.getExpressionString();
  
              if (imageValueExpressionString.matches("^[#][{]resource\\['[^']+'\\][}]$")) {
  
                  imageValueExpressionString = imageValueExpressionString.replaceFirst("^[#][{]resource\\['", "");
                  imageValueExpressionString = imageValueExpressionString.replaceFirst("'\\][}]$", "");
                  String resourceLibrary = null;
                  String resourceName;
                  String[] resourceInfo = imageValueExpressionString.split(":");
  
                  if (resourceInfo.length == 2) {
                      resourceLibrary = resourceInfo[0];
                      resourceName = resourceInfo[1];
                  }
                  else {
                      resourceName = resourceInfo[0];
                  }
  
                  if (resourceName != null) {
                      Application application = facesContext.getApplication();
                      ResourceHandler resourceHandler = application.getResourceHandler();
  
                      if (resourceLibrary != null) {
                          resource = resourceHandler.createResource(resourceName, resourceLibrary);
                      }
                      else {
                          resource = resourceHandler.createResource(resourceName);
                      }
                  }
              }
          }
  
          return resource;
      }