code: public static Page getPage(InputStream in) throws IOException {
          Constructor constructor = new Constructor(Page.class);
  
          TypeDescription typeDesc = new TypeDescription(Page.class);
          typeDesc.putListPropertyType("pageValidators", String.class);
          typeDesc.putListPropertyType("pageLoadingValidators", String.class);
          typeDesc.putMapPropertyType("elements", String.class, GUIElement.class);
          constructor.addTypeDescription(typeDesc);
  
          Yaml yamlFile = new Yaml(constructor);
          Page page = (Page) yamlFile.load(new BufferedReader(new InputStreamReader(in, "UTF-8")));
  
          try {
              in.close();
          } catch (IOException e) {
              // NOSONAR Do Nothing
          }
  
          return page;
      }
docs: Creates a instance of a {@link Page}.
  
  @param in
  input stream of the Yaml File
  @return an instance of the Page object
  @throws IOException
  if unable to read from the {@link InputStream}. Does not close the {@link InputStream} when this
  occurs.